
/**
 * Foundation for Sites
 * Version 6.6.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@import url(../../node_modules/swiper/swiper-bundle.min.css);
@import url(../../node_modules/jquery-toast-plugin/dist/jquery.toast.min.css);
@import url(../../node_modules/simple-lightbox/dist/simpleLightbox.min.css);
@media print, screen and (min-width: 40em) {
  .reveal, .reveal.tiny, .reveal.small, .reveal.large {
    right: auto;
    left: auto;
    margin: 0 auto; } }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  -webkit-text-size-adjust: 100%;
  line-height: 1.15; }

body {
  margin: 0; }

h1 {
  margin: 0.67em 0;
  font-size: 2em; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-size: 1em;
  font-family: monospace, monospace; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-size: 1em;
  font-family: monospace, monospace; }

small {
  font-size: 80%; }

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 100%;
  line-height: 1.15;
  font-family: inherit; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&tablet=48.875em&large=64em&xlarge=80em&xxlarge=103.125em&wide=120em"; }

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

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

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

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

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

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

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

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

pre {
  overflow: auto; }

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

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

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

.grid-container {
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1.5rem;
  padding-left: 1.5rem; }
  .grid-container.fluid {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 1.5rem;
    padding-left: 1.5rem; }
  .grid-container.full {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0; }

.grid-x {
  display: flex;
  flex-flow: row wrap; }

.cell {
  flex: 0 0 auto;
  width: 100%;
  min-width: 0px;
  min-height: 0px; }
  .cell.auto {
    flex: 1 1 0px; }
  .cell.shrink {
    flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    flex-basis: auto; } }

@media print, screen and (min-width: 48.875em) {
  .grid-x > .tablet-shrink, .grid-x > .tablet-full, .grid-x > .tablet-1, .grid-x > .tablet-2, .grid-x > .tablet-3, .grid-x > .tablet-4, .grid-x > .tablet-5, .grid-x > .tablet-6, .grid-x > .tablet-7, .grid-x > .tablet-8, .grid-x > .tablet-9, .grid-x > .tablet-10, .grid-x > .tablet-11, .grid-x > .tablet-12 {
    flex-basis: auto; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    flex-basis: auto; } }

@media print, screen and (min-width: 80em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    flex-basis: auto; } }

@media screen and (min-width: 103.125em) {
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    flex-basis: auto; } }

@media screen and (min-width: 120em) {
  .grid-x > .wide-shrink, .grid-x > .wide-full, .grid-x > .wide-1, .grid-x > .wide-2, .grid-x > .wide-3, .grid-x > .wide-4, .grid-x > .wide-5, .grid-x > .wide-6, .grid-x > .wide-7, .grid-x > .wide-8, .grid-x > .wide-9, .grid-x > .wide-10, .grid-x > .wide-11, .grid-x > .wide-12 {
    flex-basis: auto; } }

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  flex: 0 0 auto; }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 48.875em) {
  .grid-x > .tablet-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .tablet-shrink, .grid-x > .tablet-1, .grid-x > .tablet-2, .grid-x > .tablet-3, .grid-x > .tablet-4, .grid-x > .tablet-5, .grid-x > .tablet-6, .grid-x > .tablet-7, .grid-x > .tablet-8, .grid-x > .tablet-9, .grid-x > .tablet-10, .grid-x > .tablet-11, .grid-x > .tablet-12 {
    flex: 0 0 auto; }
  .grid-x > .tablet-shrink {
    width: auto; }
  .grid-x > .tablet-1 {
    width: 8.33333%; }
  .grid-x > .tablet-2 {
    width: 16.66667%; }
  .grid-x > .tablet-3 {
    width: 25%; }
  .grid-x > .tablet-4 {
    width: 33.33333%; }
  .grid-x > .tablet-5 {
    width: 41.66667%; }
  .grid-x > .tablet-6 {
    width: 50%; }
  .grid-x > .tablet-7 {
    width: 58.33333%; }
  .grid-x > .tablet-8 {
    width: 66.66667%; }
  .grid-x > .tablet-9 {
    width: 75%; }
  .grid-x > .tablet-10 {
    width: 83.33333%; }
  .grid-x > .tablet-11 {
    width: 91.66667%; }
  .grid-x > .tablet-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .grid-x > .large-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    flex: 0 0 auto; }
  .grid-x > .large-shrink {
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 80em) {
  .grid-x > .xlarge-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    flex: 0 0 auto; }
  .grid-x > .xlarge-shrink {
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .grid-x > .xxlarge-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
    flex: 0 0 auto; }
  .grid-x > .xxlarge-shrink {
    width: auto; }
  .grid-x > .xxlarge-1 {
    width: 8.33333%; }
  .grid-x > .xxlarge-2 {
    width: 16.66667%; }
  .grid-x > .xxlarge-3 {
    width: 25%; }
  .grid-x > .xxlarge-4 {
    width: 33.33333%; }
  .grid-x > .xxlarge-5 {
    width: 41.66667%; }
  .grid-x > .xxlarge-6 {
    width: 50%; }
  .grid-x > .xxlarge-7 {
    width: 58.33333%; }
  .grid-x > .xxlarge-8 {
    width: 66.66667%; }
  .grid-x > .xxlarge-9 {
    width: 75%; }
  .grid-x > .xxlarge-10 {
    width: 83.33333%; }
  .grid-x > .xxlarge-11 {
    width: 91.66667%; }
  .grid-x > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .grid-x > .wide-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .wide-shrink, .grid-x > .wide-1, .grid-x > .wide-2, .grid-x > .wide-3, .grid-x > .wide-4, .grid-x > .wide-5, .grid-x > .wide-6, .grid-x > .wide-7, .grid-x > .wide-8, .grid-x > .wide-9, .grid-x > .wide-10, .grid-x > .wide-11, .grid-x > .wide-12 {
    flex: 0 0 auto; }
  .grid-x > .wide-shrink {
    width: auto; }
  .grid-x > .wide-1 {
    width: 8.33333%; }
  .grid-x > .wide-2 {
    width: 16.66667%; }
  .grid-x > .wide-3 {
    width: 25%; }
  .grid-x > .wide-4 {
    width: 33.33333%; }
  .grid-x > .wide-5 {
    width: 41.66667%; }
  .grid-x > .wide-6 {
    width: 50%; }
  .grid-x > .wide-7 {
    width: 58.33333%; }
  .grid-x > .wide-8 {
    width: 66.66667%; }
  .grid-x > .wide-9 {
    width: 75%; }
  .grid-x > .wide-10 {
    width: 83.33333%; }
  .grid-x > .wide-11 {
    width: 91.66667%; }
  .grid-x > .wide-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }
  .grid-margin-x > .cell {
    width: calc(100% - 3rem);
    margin-right: 1.5rem;
    margin-left: 1.5rem; }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 3rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 3rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 3rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 3rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 3rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 3rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 3rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 3rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 3rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 3rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 3rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-margin-x > .tablet-auto {
      width: auto; }
    .grid-margin-x > .tablet-shrink {
      width: auto; }
    .grid-margin-x > .tablet-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .tablet-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .tablet-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .tablet-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .tablet-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .tablet-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .tablet-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .tablet-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .tablet-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .tablet-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .tablet-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .tablet-12 {
      width: calc(100% - 3rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 3rem); } }
  @media print, screen and (min-width: 80em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(100% - 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-x > .wide-auto {
      width: auto; }
    .grid-margin-x > .wide-shrink {
      width: auto; }
    .grid-margin-x > .wide-1 {
      width: calc(8.33333% - 3rem); }
    .grid-margin-x > .wide-2 {
      width: calc(16.66667% - 3rem); }
    .grid-margin-x > .wide-3 {
      width: calc(25% - 3rem); }
    .grid-margin-x > .wide-4 {
      width: calc(33.33333% - 3rem); }
    .grid-margin-x > .wide-5 {
      width: calc(41.66667% - 3rem); }
    .grid-margin-x > .wide-6 {
      width: calc(50% - 3rem); }
    .grid-margin-x > .wide-7 {
      width: calc(58.33333% - 3rem); }
    .grid-margin-x > .wide-8 {
      width: calc(66.66667% - 3rem); }
    .grid-margin-x > .wide-9 {
      width: calc(75% - 3rem); }
    .grid-margin-x > .wide-10 {
      width: calc(83.33333% - 3rem); }
    .grid-margin-x > .wide-11 {
      width: calc(91.66667% - 3rem); }
    .grid-margin-x > .wide-12 {
      width: calc(100% - 3rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }

.grid-padding-x > .cell {
  padding-right: 1.5rem;
  padding-left: 1.5rem; }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-up-1 > .cell {
    width: 100%; }
  .tablet-up-2 > .cell {
    width: 50%; }
  .tablet-up-3 > .cell {
    width: 33.33333%; }
  .tablet-up-4 > .cell {
    width: 25%; }
  .tablet-up-5 > .cell {
    width: 20%; }
  .tablet-up-6 > .cell {
    width: 16.66667%; }
  .tablet-up-7 > .cell {
    width: 14.28571%; }
  .tablet-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 64em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 80em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-up-1 > .cell {
    width: 100%; }
  .xxlarge-up-2 > .cell {
    width: 50%; }
  .xxlarge-up-3 > .cell {
    width: 33.33333%; }
  .xxlarge-up-4 > .cell {
    width: 25%; }
  .xxlarge-up-5 > .cell {
    width: 20%; }
  .xxlarge-up-6 > .cell {
    width: 16.66667%; }
  .xxlarge-up-7 > .cell {
    width: 14.28571%; }
  .xxlarge-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 120em) {
  .wide-up-1 > .cell {
    width: 100%; }
  .wide-up-2 > .cell {
    width: 50%; }
  .wide-up-3 > .cell {
    width: 33.33333%; }
  .wide-up-4 > .cell {
    width: 25%; }
  .wide-up-5 > .cell {
    width: 20%; }
  .wide-up-6 > .cell {
    width: 16.66667%; }
  .wide-up-7 > .cell {
    width: 14.28571%; }
  .wide-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 3rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 3rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 3rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 3rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 3rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 3rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 3rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 3rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 3rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 3rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 3rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 3rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 3rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 3rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 3rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 3rem); } }

@media print, screen and (min-width: 48.875em) {
  .grid-margin-x.tablet-up-1 > .cell {
    width: calc(100% - 3rem); }
  .grid-margin-x.tablet-up-2 > .cell {
    width: calc(50% - 3rem); }
  .grid-margin-x.tablet-up-3 > .cell {
    width: calc(33.33333% - 3rem); }
  .grid-margin-x.tablet-up-4 > .cell {
    width: calc(25% - 3rem); }
  .grid-margin-x.tablet-up-5 > .cell {
    width: calc(20% - 3rem); }
  .grid-margin-x.tablet-up-6 > .cell {
    width: calc(16.66667% - 3rem); }
  .grid-margin-x.tablet-up-7 > .cell {
    width: calc(14.28571% - 3rem); }
  .grid-margin-x.tablet-up-8 > .cell {
    width: calc(12.5% - 3rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 3rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 3rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 3rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 3rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 3rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 3rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 3rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 3rem); } }

@media print, screen and (min-width: 80em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 3rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 3rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 3rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 3rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 3rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 3rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 3rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 3rem); } }

@media screen and (min-width: 103.125em) {
  .grid-margin-x.xxlarge-up-1 > .cell {
    width: calc(100% - 3rem); }
  .grid-margin-x.xxlarge-up-2 > .cell {
    width: calc(50% - 3rem); }
  .grid-margin-x.xxlarge-up-3 > .cell {
    width: calc(33.33333% - 3rem); }
  .grid-margin-x.xxlarge-up-4 > .cell {
    width: calc(25% - 3rem); }
  .grid-margin-x.xxlarge-up-5 > .cell {
    width: calc(20% - 3rem); }
  .grid-margin-x.xxlarge-up-6 > .cell {
    width: calc(16.66667% - 3rem); }
  .grid-margin-x.xxlarge-up-7 > .cell {
    width: calc(14.28571% - 3rem); }
  .grid-margin-x.xxlarge-up-8 > .cell {
    width: calc(12.5% - 3rem); } }

@media screen and (min-width: 120em) {
  .grid-margin-x.wide-up-1 > .cell {
    width: calc(100% - 3rem); }
  .grid-margin-x.wide-up-2 > .cell {
    width: calc(50% - 3rem); }
  .grid-margin-x.wide-up-3 > .cell {
    width: calc(33.33333% - 3rem); }
  .grid-margin-x.wide-up-4 > .cell {
    width: calc(25% - 3rem); }
  .grid-margin-x.wide-up-5 > .cell {
    width: calc(20% - 3rem); }
  .grid-margin-x.wide-up-6 > .cell {
    width: calc(16.66667% - 3rem); }
  .grid-margin-x.wide-up-7 > .cell {
    width: calc(14.28571% - 3rem); }
  .grid-margin-x.wide-up-8 > .cell {
    width: calc(12.5% - 3rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 48.875em) {
    .small-margin-collapse > .tablet-1 {
      width: 8.33333%; }
    .small-margin-collapse > .tablet-2 {
      width: 16.66667%; }
    .small-margin-collapse > .tablet-3 {
      width: 25%; }
    .small-margin-collapse > .tablet-4 {
      width: 33.33333%; }
    .small-margin-collapse > .tablet-5 {
      width: 41.66667%; }
    .small-margin-collapse > .tablet-6 {
      width: 50%; }
    .small-margin-collapse > .tablet-7 {
      width: 58.33333%; }
    .small-margin-collapse > .tablet-8 {
      width: 66.66667%; }
    .small-margin-collapse > .tablet-9 {
      width: 75%; }
    .small-margin-collapse > .tablet-10 {
      width: 83.33333%; }
    .small-margin-collapse > .tablet-11 {
      width: 91.66667%; }
    .small-margin-collapse > .tablet-12 {
      width: 100%; } }
  @media print, screen and (min-width: 64em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }
  @media print, screen and (min-width: 80em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 103.125em) {
    .small-margin-collapse > .xxlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xxlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xxlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xxlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xxlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xxlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xxlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xxlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xxlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xxlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xxlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xxlarge-12 {
      width: 100%; } }
  @media screen and (min-width: 120em) {
    .small-margin-collapse > .wide-1 {
      width: 8.33333%; }
    .small-margin-collapse > .wide-2 {
      width: 16.66667%; }
    .small-margin-collapse > .wide-3 {
      width: 25%; }
    .small-margin-collapse > .wide-4 {
      width: 33.33333%; }
    .small-margin-collapse > .wide-5 {
      width: 41.66667%; }
    .small-margin-collapse > .wide-6 {
      width: 50%; }
    .small-margin-collapse > .wide-7 {
      width: 58.33333%; }
    .small-margin-collapse > .wide-8 {
      width: 66.66667%; }
    .small-margin-collapse > .wide-9 {
      width: 75%; }
    .small-margin-collapse > .wide-10 {
      width: 83.33333%; }
    .small-margin-collapse > .wide-11 {
      width: 91.66667%; }
    .small-margin-collapse > .wide-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 48.875em) {
  .medium-margin-collapse > .tablet-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .tablet-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .tablet-3 {
    width: 25%; }
  .medium-margin-collapse > .tablet-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .tablet-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .tablet-6 {
    width: 50%; }
  .medium-margin-collapse > .tablet-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .tablet-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .tablet-9 {
    width: 75%; }
  .medium-margin-collapse > .tablet-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .tablet-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .tablet-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 80em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .medium-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .medium-margin-collapse > .wide-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .wide-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .wide-3 {
    width: 25%; }
  .medium-margin-collapse > .wide-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .wide-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .wide-6 {
    width: 50%; }
  .medium-margin-collapse > .wide-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .wide-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .wide-9 {
    width: 75%; }
  .medium-margin-collapse > .wide-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .wide-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .wide-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .tablet-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-margin-collapse > .small-1 {
    width: 8.33333%; }
  .tablet-margin-collapse > .small-2 {
    width: 16.66667%; }
  .tablet-margin-collapse > .small-3 {
    width: 25%; }
  .tablet-margin-collapse > .small-4 {
    width: 33.33333%; }
  .tablet-margin-collapse > .small-5 {
    width: 41.66667%; }
  .tablet-margin-collapse > .small-6 {
    width: 50%; }
  .tablet-margin-collapse > .small-7 {
    width: 58.33333%; }
  .tablet-margin-collapse > .small-8 {
    width: 66.66667%; }
  .tablet-margin-collapse > .small-9 {
    width: 75%; }
  .tablet-margin-collapse > .small-10 {
    width: 83.33333%; }
  .tablet-margin-collapse > .small-11 {
    width: 91.66667%; }
  .tablet-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .tablet-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .tablet-margin-collapse > .medium-3 {
    width: 25%; }
  .tablet-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .tablet-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .tablet-margin-collapse > .medium-6 {
    width: 50%; }
  .tablet-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .tablet-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .tablet-margin-collapse > .medium-9 {
    width: 75%; }
  .tablet-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .tablet-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .tablet-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-margin-collapse > .tablet-1 {
    width: 8.33333%; }
  .tablet-margin-collapse > .tablet-2 {
    width: 16.66667%; }
  .tablet-margin-collapse > .tablet-3 {
    width: 25%; }
  .tablet-margin-collapse > .tablet-4 {
    width: 33.33333%; }
  .tablet-margin-collapse > .tablet-5 {
    width: 41.66667%; }
  .tablet-margin-collapse > .tablet-6 {
    width: 50%; }
  .tablet-margin-collapse > .tablet-7 {
    width: 58.33333%; }
  .tablet-margin-collapse > .tablet-8 {
    width: 66.66667%; }
  .tablet-margin-collapse > .tablet-9 {
    width: 75%; }
  .tablet-margin-collapse > .tablet-10 {
    width: 83.33333%; }
  .tablet-margin-collapse > .tablet-11 {
    width: 91.66667%; }
  .tablet-margin-collapse > .tablet-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .tablet-margin-collapse > .large-1 {
    width: 8.33333%; }
  .tablet-margin-collapse > .large-2 {
    width: 16.66667%; }
  .tablet-margin-collapse > .large-3 {
    width: 25%; }
  .tablet-margin-collapse > .large-4 {
    width: 33.33333%; }
  .tablet-margin-collapse > .large-5 {
    width: 41.66667%; }
  .tablet-margin-collapse > .large-6 {
    width: 50%; }
  .tablet-margin-collapse > .large-7 {
    width: 58.33333%; }
  .tablet-margin-collapse > .large-8 {
    width: 66.66667%; }
  .tablet-margin-collapse > .large-9 {
    width: 75%; }
  .tablet-margin-collapse > .large-10 {
    width: 83.33333%; }
  .tablet-margin-collapse > .large-11 {
    width: 91.66667%; }
  .tablet-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 80em) {
  .tablet-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .tablet-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .tablet-margin-collapse > .xlarge-3 {
    width: 25%; }
  .tablet-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .tablet-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .tablet-margin-collapse > .xlarge-6 {
    width: 50%; }
  .tablet-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .tablet-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .tablet-margin-collapse > .xlarge-9 {
    width: 75%; }
  .tablet-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .tablet-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .tablet-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .tablet-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .tablet-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .tablet-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .tablet-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .tablet-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .tablet-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .tablet-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .tablet-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .tablet-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .tablet-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .tablet-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .tablet-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .tablet-margin-collapse > .wide-1 {
    width: 8.33333%; }
  .tablet-margin-collapse > .wide-2 {
    width: 16.66667%; }
  .tablet-margin-collapse > .wide-3 {
    width: 25%; }
  .tablet-margin-collapse > .wide-4 {
    width: 33.33333%; }
  .tablet-margin-collapse > .wide-5 {
    width: 41.66667%; }
  .tablet-margin-collapse > .wide-6 {
    width: 50%; }
  .tablet-margin-collapse > .wide-7 {
    width: 58.33333%; }
  .tablet-margin-collapse > .wide-8 {
    width: 66.66667%; }
  .tablet-margin-collapse > .wide-9 {
    width: 75%; }
  .tablet-margin-collapse > .wide-10 {
    width: 83.33333%; }
  .tablet-margin-collapse > .wide-11 {
    width: 91.66667%; }
  .tablet-margin-collapse > .wide-12 {
    width: 100%; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .tablet-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .tablet-1 {
    width: 8.33333%; }
  .large-margin-collapse > .tablet-2 {
    width: 16.66667%; }
  .large-margin-collapse > .tablet-3 {
    width: 25%; }
  .large-margin-collapse > .tablet-4 {
    width: 33.33333%; }
  .large-margin-collapse > .tablet-5 {
    width: 41.66667%; }
  .large-margin-collapse > .tablet-6 {
    width: 50%; }
  .large-margin-collapse > .tablet-7 {
    width: 58.33333%; }
  .large-margin-collapse > .tablet-8 {
    width: 66.66667%; }
  .large-margin-collapse > .tablet-9 {
    width: 75%; }
  .large-margin-collapse > .tablet-10 {
    width: 83.33333%; }
  .large-margin-collapse > .tablet-11 {
    width: 91.66667%; }
  .large-margin-collapse > .tablet-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 80em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .large-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .large-margin-collapse > .wide-1 {
    width: 8.33333%; }
  .large-margin-collapse > .wide-2 {
    width: 16.66667%; }
  .large-margin-collapse > .wide-3 {
    width: 25%; }
  .large-margin-collapse > .wide-4 {
    width: 33.33333%; }
  .large-margin-collapse > .wide-5 {
    width: 41.66667%; }
  .large-margin-collapse > .wide-6 {
    width: 50%; }
  .large-margin-collapse > .wide-7 {
    width: 58.33333%; }
  .large-margin-collapse > .wide-8 {
    width: 66.66667%; }
  .large-margin-collapse > .wide-9 {
    width: 75%; }
  .large-margin-collapse > .wide-10 {
    width: 83.33333%; }
  .large-margin-collapse > .wide-11 {
    width: 91.66667%; }
  .large-margin-collapse > .wide-12 {
    width: 100%; } }

@media print, screen and (min-width: 64em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 80em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 80em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 80em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 80em) {
  .xlarge-margin-collapse > .tablet-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .tablet-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .tablet-3 {
    width: 25%; }
  .xlarge-margin-collapse > .tablet-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .tablet-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .tablet-6 {
    width: 50%; }
  .xlarge-margin-collapse > .tablet-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .tablet-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .tablet-9 {
    width: 75%; }
  .xlarge-margin-collapse > .tablet-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .tablet-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .tablet-12 {
    width: 100%; } }

@media print, screen and (min-width: 80em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 80em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .xlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .xlarge-margin-collapse > .wide-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .wide-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .wide-3 {
    width: 25%; }
  .xlarge-margin-collapse > .wide-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .wide-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .wide-6 {
    width: 50%; }
  .xlarge-margin-collapse > .wide-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .wide-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .wide-9 {
    width: 75%; }
  .xlarge-margin-collapse > .wide-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .wide-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .wide-12 {
    width: 100%; } }

@media print, screen and (min-width: 80em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .tablet-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .tablet-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .tablet-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .tablet-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .tablet-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .tablet-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .tablet-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .tablet-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .tablet-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .tablet-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .tablet-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .tablet-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .xxlarge-margin-collapse > .wide-1 {
    width: 8.33333%; }
  .xxlarge-margin-collapse > .wide-2 {
    width: 16.66667%; }
  .xxlarge-margin-collapse > .wide-3 {
    width: 25%; }
  .xxlarge-margin-collapse > .wide-4 {
    width: 33.33333%; }
  .xxlarge-margin-collapse > .wide-5 {
    width: 41.66667%; }
  .xxlarge-margin-collapse > .wide-6 {
    width: 50%; }
  .xxlarge-margin-collapse > .wide-7 {
    width: 58.33333%; }
  .xxlarge-margin-collapse > .wide-8 {
    width: 66.66667%; }
  .xxlarge-margin-collapse > .wide-9 {
    width: 75%; }
  .xxlarge-margin-collapse > .wide-10 {
    width: 83.33333%; }
  .xxlarge-margin-collapse > .wide-11 {
    width: 91.66667%; }
  .xxlarge-margin-collapse > .wide-12 {
    width: 100%; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .wide-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse > .small-1 {
    width: 8.33333%; }
  .wide-margin-collapse > .small-2 {
    width: 16.66667%; }
  .wide-margin-collapse > .small-3 {
    width: 25%; }
  .wide-margin-collapse > .small-4 {
    width: 33.33333%; }
  .wide-margin-collapse > .small-5 {
    width: 41.66667%; }
  .wide-margin-collapse > .small-6 {
    width: 50%; }
  .wide-margin-collapse > .small-7 {
    width: 58.33333%; }
  .wide-margin-collapse > .small-8 {
    width: 66.66667%; }
  .wide-margin-collapse > .small-9 {
    width: 75%; }
  .wide-margin-collapse > .small-10 {
    width: 83.33333%; }
  .wide-margin-collapse > .small-11 {
    width: 91.66667%; }
  .wide-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .wide-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .wide-margin-collapse > .medium-3 {
    width: 25%; }
  .wide-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .wide-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .wide-margin-collapse > .medium-6 {
    width: 50%; }
  .wide-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .wide-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .wide-margin-collapse > .medium-9 {
    width: 75%; }
  .wide-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .wide-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .wide-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse > .tablet-1 {
    width: 8.33333%; }
  .wide-margin-collapse > .tablet-2 {
    width: 16.66667%; }
  .wide-margin-collapse > .tablet-3 {
    width: 25%; }
  .wide-margin-collapse > .tablet-4 {
    width: 33.33333%; }
  .wide-margin-collapse > .tablet-5 {
    width: 41.66667%; }
  .wide-margin-collapse > .tablet-6 {
    width: 50%; }
  .wide-margin-collapse > .tablet-7 {
    width: 58.33333%; }
  .wide-margin-collapse > .tablet-8 {
    width: 66.66667%; }
  .wide-margin-collapse > .tablet-9 {
    width: 75%; }
  .wide-margin-collapse > .tablet-10 {
    width: 83.33333%; }
  .wide-margin-collapse > .tablet-11 {
    width: 91.66667%; }
  .wide-margin-collapse > .tablet-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse > .large-1 {
    width: 8.33333%; }
  .wide-margin-collapse > .large-2 {
    width: 16.66667%; }
  .wide-margin-collapse > .large-3 {
    width: 25%; }
  .wide-margin-collapse > .large-4 {
    width: 33.33333%; }
  .wide-margin-collapse > .large-5 {
    width: 41.66667%; }
  .wide-margin-collapse > .large-6 {
    width: 50%; }
  .wide-margin-collapse > .large-7 {
    width: 58.33333%; }
  .wide-margin-collapse > .large-8 {
    width: 66.66667%; }
  .wide-margin-collapse > .large-9 {
    width: 75%; }
  .wide-margin-collapse > .large-10 {
    width: 83.33333%; }
  .wide-margin-collapse > .large-11 {
    width: 91.66667%; }
  .wide-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .wide-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .wide-margin-collapse > .xlarge-3 {
    width: 25%; }
  .wide-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .wide-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .wide-margin-collapse > .xlarge-6 {
    width: 50%; }
  .wide-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .wide-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .wide-margin-collapse > .xlarge-9 {
    width: 75%; }
  .wide-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .wide-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .wide-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse > .xxlarge-1 {
    width: 8.33333%; }
  .wide-margin-collapse > .xxlarge-2 {
    width: 16.66667%; }
  .wide-margin-collapse > .xxlarge-3 {
    width: 25%; }
  .wide-margin-collapse > .xxlarge-4 {
    width: 33.33333%; }
  .wide-margin-collapse > .xxlarge-5 {
    width: 41.66667%; }
  .wide-margin-collapse > .xxlarge-6 {
    width: 50%; }
  .wide-margin-collapse > .xxlarge-7 {
    width: 58.33333%; }
  .wide-margin-collapse > .xxlarge-8 {
    width: 66.66667%; }
  .wide-margin-collapse > .xxlarge-9 {
    width: 75%; }
  .wide-margin-collapse > .xxlarge-10 {
    width: 83.33333%; }
  .wide-margin-collapse > .xxlarge-11 {
    width: 91.66667%; }
  .wide-margin-collapse > .xxlarge-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .wide-margin-collapse > .wide-1 {
    width: 8.33333%; }
  .wide-margin-collapse > .wide-2 {
    width: 16.66667%; }
  .wide-margin-collapse > .wide-3 {
    width: 25%; }
  .wide-margin-collapse > .wide-4 {
    width: 33.33333%; }
  .wide-margin-collapse > .wide-5 {
    width: 41.66667%; }
  .wide-margin-collapse > .wide-6 {
    width: 50%; }
  .wide-margin-collapse > .wide-7 {
    width: 58.33333%; }
  .wide-margin-collapse > .wide-8 {
    width: 66.66667%; }
  .wide-margin-collapse > .wide-9 {
    width: 75%; }
  .wide-margin-collapse > .wide-10 {
    width: 83.33333%; }
  .wide-margin-collapse > .wide-11 {
    width: 91.66667%; }
  .wide-margin-collapse > .wide-12 {
    width: 100%; } }

@media screen and (min-width: 120em) {
  .wide-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .wide-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 1.5rem); }

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

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 1.5rem); }

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

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 1.5rem); }

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

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 1.5rem); }

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

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 1.5rem); }

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

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 1.5rem); }

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

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 1.5rem); }

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

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 1.5rem); }

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

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 1.5rem); }

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

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 1.5rem); }

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

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 1.5rem); }

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

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 1.5rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.5rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 1.5rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 1.5rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.5rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 1.5rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 1.5rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.5rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 1.5rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 1.5rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.5rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 1.5rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 1.5rem); } }

@media print, screen and (min-width: 48.875em) {
  .tablet-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .tablet-offset-0 {
    margin-left: calc(0% + 1.5rem); }
  .tablet-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .tablet-offset-1 {
    margin-left: calc(8.33333% + 1.5rem); }
  .tablet-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .tablet-offset-2 {
    margin-left: calc(16.66667% + 1.5rem); }
  .tablet-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .tablet-offset-3 {
    margin-left: calc(25% + 1.5rem); }
  .tablet-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .tablet-offset-4 {
    margin-left: calc(33.33333% + 1.5rem); }
  .tablet-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .tablet-offset-5 {
    margin-left: calc(41.66667% + 1.5rem); }
  .tablet-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .tablet-offset-6 {
    margin-left: calc(50% + 1.5rem); }
  .tablet-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .tablet-offset-7 {
    margin-left: calc(58.33333% + 1.5rem); }
  .tablet-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .tablet-offset-8 {
    margin-left: calc(66.66667% + 1.5rem); }
  .tablet-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .tablet-offset-9 {
    margin-left: calc(75% + 1.5rem); }
  .tablet-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .tablet-offset-10 {
    margin-left: calc(83.33333% + 1.5rem); }
  .tablet-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .tablet-offset-11 {
    margin-left: calc(91.66667% + 1.5rem); } }

@media print, screen and (min-width: 64em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.5rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 1.5rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 1.5rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.5rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 1.5rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 1.5rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.5rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 1.5rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 1.5rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.5rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 1.5rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 1.5rem); } }

@media print, screen and (min-width: 80em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 1.5rem); }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 1.5rem); }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 1.5rem); }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 1.5rem); }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 1.5rem); }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 1.5rem); }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 1.5rem); }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 1.5rem); }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 1.5rem); }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 1.5rem); }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 1.5rem); }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 1.5rem); } }

@media screen and (min-width: 103.125em) {
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xxlarge-offset-0 {
    margin-left: calc(0% + 1.5rem); }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xxlarge-offset-1 {
    margin-left: calc(8.33333% + 1.5rem); }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xxlarge-offset-2 {
    margin-left: calc(16.66667% + 1.5rem); }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xxlarge-offset-3 {
    margin-left: calc(25% + 1.5rem); }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xxlarge-offset-4 {
    margin-left: calc(33.33333% + 1.5rem); }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xxlarge-offset-5 {
    margin-left: calc(41.66667% + 1.5rem); }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xxlarge-offset-6 {
    margin-left: calc(50% + 1.5rem); }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xxlarge-offset-7 {
    margin-left: calc(58.33333% + 1.5rem); }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xxlarge-offset-8 {
    margin-left: calc(66.66667% + 1.5rem); }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xxlarge-offset-9 {
    margin-left: calc(75% + 1.5rem); }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xxlarge-offset-10 {
    margin-left: calc(83.33333% + 1.5rem); }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xxlarge-offset-11 {
    margin-left: calc(91.66667% + 1.5rem); } }

@media screen and (min-width: 120em) {
  .wide-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .wide-offset-0 {
    margin-left: calc(0% + 1.5rem); }
  .wide-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .wide-offset-1 {
    margin-left: calc(8.33333% + 1.5rem); }
  .wide-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .wide-offset-2 {
    margin-left: calc(16.66667% + 1.5rem); }
  .wide-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .wide-offset-3 {
    margin-left: calc(25% + 1.5rem); }
  .wide-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .wide-offset-4 {
    margin-left: calc(33.33333% + 1.5rem); }
  .wide-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .wide-offset-5 {
    margin-left: calc(41.66667% + 1.5rem); }
  .wide-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .wide-offset-6 {
    margin-left: calc(50% + 1.5rem); }
  .wide-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .wide-offset-7 {
    margin-left: calc(58.33333% + 1.5rem); }
  .wide-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .wide-offset-8 {
    margin-left: calc(66.66667% + 1.5rem); }
  .wide-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .wide-offset-9 {
    margin-left: calc(75% + 1.5rem); }
  .wide-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .wide-offset-10 {
    margin-left: calc(83.33333% + 1.5rem); }
  .wide-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .wide-offset-11 {
    margin-left: calc(91.66667% + 1.5rem); } }

.grid-y {
  display: flex;
  flex-flow: column nowrap; }
  .grid-y > .cell {
    height: auto;
    max-height: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      flex-basis: auto; } }
  @media print, screen and (min-width: 48.875em) {
    .grid-y > .tablet-shrink, .grid-y > .tablet-full, .grid-y > .tablet-1, .grid-y > .tablet-2, .grid-y > .tablet-3, .grid-y > .tablet-4, .grid-y > .tablet-5, .grid-y > .tablet-6, .grid-y > .tablet-7, .grid-y > .tablet-8, .grid-y > .tablet-9, .grid-y > .tablet-10, .grid-y > .tablet-11, .grid-y > .tablet-12 {
      flex-basis: auto; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      flex-basis: auto; } }
  @media print, screen and (min-width: 80em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      flex-basis: auto; } }
  @media screen and (min-width: 103.125em) {
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      flex-basis: auto; } }
  @media screen and (min-width: 120em) {
    .grid-y > .wide-shrink, .grid-y > .wide-full, .grid-y > .wide-1, .grid-y > .wide-2, .grid-y > .wide-3, .grid-y > .wide-4, .grid-y > .wide-5, .grid-y > .wide-6, .grid-y > .wide-7, .grid-y > .wide-8, .grid-y > .wide-9, .grid-y > .wide-10, .grid-y > .wide-11, .grid-y > .wide-12 {
      flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 48.875em) {
    .grid-y > .tablet-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .tablet-shrink, .grid-y > .tablet-1, .grid-y > .tablet-2, .grid-y > .tablet-3, .grid-y > .tablet-4, .grid-y > .tablet-5, .grid-y > .tablet-6, .grid-y > .tablet-7, .grid-y > .tablet-8, .grid-y > .tablet-9, .grid-y > .tablet-10, .grid-y > .tablet-11, .grid-y > .tablet-12 {
      flex: 0 0 auto; }
    .grid-y > .tablet-shrink {
      height: auto; }
    .grid-y > .tablet-1 {
      height: 8.33333%; }
    .grid-y > .tablet-2 {
      height: 16.66667%; }
    .grid-y > .tablet-3 {
      height: 25%; }
    .grid-y > .tablet-4 {
      height: 33.33333%; }
    .grid-y > .tablet-5 {
      height: 41.66667%; }
    .grid-y > .tablet-6 {
      height: 50%; }
    .grid-y > .tablet-7 {
      height: 58.33333%; }
    .grid-y > .tablet-8 {
      height: 66.66667%; }
    .grid-y > .tablet-9 {
      height: 75%; }
    .grid-y > .tablet-10 {
      height: 83.33333%; }
    .grid-y > .tablet-11 {
      height: 91.66667%; }
    .grid-y > .tablet-12 {
      height: 100%; } }
  @media print, screen and (min-width: 64em) {
    .grid-y > .large-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media print, screen and (min-width: 80em) {
    .grid-y > .xlarge-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      flex: 0 0 auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 103.125em) {
    .grid-y > .xxlarge-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
      flex: 0 0 auto; }
    .grid-y > .xxlarge-shrink {
      height: auto; }
    .grid-y > .xxlarge-1 {
      height: 8.33333%; }
    .grid-y > .xxlarge-2 {
      height: 16.66667%; }
    .grid-y > .xxlarge-3 {
      height: 25%; }
    .grid-y > .xxlarge-4 {
      height: 33.33333%; }
    .grid-y > .xxlarge-5 {
      height: 41.66667%; }
    .grid-y > .xxlarge-6 {
      height: 50%; }
    .grid-y > .xxlarge-7 {
      height: 58.33333%; }
    .grid-y > .xxlarge-8 {
      height: 66.66667%; }
    .grid-y > .xxlarge-9 {
      height: 75%; }
    .grid-y > .xxlarge-10 {
      height: 83.33333%; }
    .grid-y > .xxlarge-11 {
      height: 91.66667%; }
    .grid-y > .xxlarge-12 {
      height: 100%; } }
  @media screen and (min-width: 120em) {
    .grid-y > .wide-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .wide-shrink, .grid-y > .wide-1, .grid-y > .wide-2, .grid-y > .wide-3, .grid-y > .wide-4, .grid-y > .wide-5, .grid-y > .wide-6, .grid-y > .wide-7, .grid-y > .wide-8, .grid-y > .wide-9, .grid-y > .wide-10, .grid-y > .wide-11, .grid-y > .wide-12 {
      flex: 0 0 auto; }
    .grid-y > .wide-shrink {
      height: auto; }
    .grid-y > .wide-1 {
      height: 8.33333%; }
    .grid-y > .wide-2 {
      height: 16.66667%; }
    .grid-y > .wide-3 {
      height: 25%; }
    .grid-y > .wide-4 {
      height: 33.33333%; }
    .grid-y > .wide-5 {
      height: 41.66667%; }
    .grid-y > .wide-6 {
      height: 50%; }
    .grid-y > .wide-7 {
      height: 58.33333%; }
    .grid-y > .wide-8 {
      height: 66.66667%; }
    .grid-y > .wide-9 {
      height: 75%; }
    .grid-y > .wide-10 {
      height: 83.33333%; }
    .grid-y > .wide-11 {
      height: 91.66667%; }
    .grid-y > .wide-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }

.grid-padding-y > .cell {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }

.grid-margin-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }
  .grid-margin-y > .cell {
    height: calc(100% - 3rem);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem; }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 3rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 3rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 3rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 3rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 3rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 3rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 3rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 3rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-margin-y > .tablet-auto {
      height: auto; }
    .grid-margin-y > .tablet-shrink {
      height: auto; }
    .grid-margin-y > .tablet-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .tablet-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .tablet-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .tablet-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .tablet-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .tablet-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .tablet-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .tablet-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .tablet-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .tablet-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .tablet-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .tablet-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 80em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-y > .wide-auto {
      height: auto; }
    .grid-margin-y > .wide-shrink {
      height: auto; }
    .grid-margin-y > .wide-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .wide-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .wide-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .wide-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .wide-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .wide-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .wide-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .wide-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .wide-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .wide-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .wide-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .wide-12 {
      height: calc(100% - 3rem); } }

.grid-frame {
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100vw;
  overflow: hidden; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  max-width: 100%;
  overflow-x: auto; }

.cell-block-y {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  min-height: 100%;
  max-height: 100%;
  overflow-y: auto; }

.cell-block-container {
  display: flex;
  flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    flex-wrap: nowrap;
    max-height: 100%; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto; }
  .medium-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      flex-wrap: nowrap;
      max-height: 100%; }
  .medium-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden; }
  .cell .tablet-grid-frame {
    width: 100%; }
  .tablet-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto; }
  .tablet-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .tablet-cell-block-container > .grid-x {
      flex-wrap: nowrap;
      max-height: 100%; }
  .tablet-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto; } }

@media print, screen and (min-width: 64em) {
  .large-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto; }
  .large-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      flex-wrap: nowrap;
      max-height: 100%; }
  .large-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto; } }

@media print, screen and (min-width: 80em) {
  .xlarge-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden; }
  .cell .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto; }
  .xlarge-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      flex-wrap: nowrap;
      max-height: 100%; }
  .xlarge-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden; }
  .cell .xxlarge-grid-frame {
    width: 100%; }
  .xxlarge-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto; }
  .xxlarge-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .xxlarge-cell-block-container > .grid-x {
      flex-wrap: nowrap;
      max-height: 100%; }
  .xxlarge-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto; } }

@media screen and (min-width: 120em) {
  .wide-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw;
    overflow: hidden; }
  .cell .wide-grid-frame {
    width: 100%; }
  .wide-cell-block {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    max-width: 100%;
    overflow-x: auto; }
  .wide-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .wide-cell-block-container > .grid-x {
      flex-wrap: nowrap;
      max-height: 100%; }
  .wide-cell-block-y {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    min-height: 100%;
    max-height: 100%;
    overflow-y: auto; } }

.grid-y.grid-frame {
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  width: auto;
  height: 100vh;
  overflow: hidden; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden; } }

@media print, screen and (min-width: 48.875em) {
  .grid-y.tablet-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden; } }

@media print, screen and (min-width: 64em) {
  .grid-y.large-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden; } }

@media print, screen and (min-width: 80em) {
  .grid-y.xlarge-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden; } }

@media screen and (min-width: 103.125em) {
  .grid-y.xxlarge-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden; } }

@media screen and (min-width: 120em) {
  .grid-y.wide-grid-frame {
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: auto;
    height: 100vh;
    overflow: hidden; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 48.875em) {
  .cell .grid-y.tablet-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 80em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 103.125em) {
  .cell .grid-y.xxlarge-grid-frame {
    height: 100%; } }

@media screen and (min-width: 120em) {
  .cell .grid-y.wide-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }
  .grid-margin-y > .cell {
    height: calc(100% - 3rem);
    margin-top: 1.5rem;
    margin-bottom: 1.5rem; }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 3rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 3rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 3rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 3rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 3rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 3rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 3rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 3rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 3rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 3rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 3rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-margin-y > .tablet-auto {
      height: auto; }
    .grid-margin-y > .tablet-shrink {
      height: auto; }
    .grid-margin-y > .tablet-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .tablet-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .tablet-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .tablet-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .tablet-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .tablet-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .tablet-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .tablet-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .tablet-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .tablet-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .tablet-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .tablet-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 3rem); } }
  @media print, screen and (min-width: 80em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-margin-y > .wide-auto {
      height: auto; }
    .grid-margin-y > .wide-shrink {
      height: auto; }
    .grid-margin-y > .wide-1 {
      height: calc(8.33333% - 3rem); }
    .grid-margin-y > .wide-2 {
      height: calc(16.66667% - 3rem); }
    .grid-margin-y > .wide-3 {
      height: calc(25% - 3rem); }
    .grid-margin-y > .wide-4 {
      height: calc(33.33333% - 3rem); }
    .grid-margin-y > .wide-5 {
      height: calc(41.66667% - 3rem); }
    .grid-margin-y > .wide-6 {
      height: calc(50% - 3rem); }
    .grid-margin-y > .wide-7 {
      height: calc(58.33333% - 3rem); }
    .grid-margin-y > .wide-8 {
      height: calc(66.66667% - 3rem); }
    .grid-margin-y > .wide-9 {
      height: calc(75% - 3rem); }
    .grid-margin-y > .wide-10 {
      height: calc(83.33333% - 3rem); }
    .grid-margin-y > .wide-11 {
      height: calc(91.66667% - 3rem); }
    .grid-margin-y > .wide-12 {
      height: calc(100% - 3rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 3rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 3rem); } }
  @media print, screen and (min-width: 48.875em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 3rem); } }
  @media print, screen and (min-width: 64em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 3rem); } }
  @media print, screen and (min-width: 80em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 3rem); } }
  @media screen and (min-width: 103.125em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 3rem); } }
  @media screen and (min-width: 120em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 3rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 3rem); } }

@media print, screen and (min-width: 48.875em) {
  .grid-margin-y.tablet-grid-frame {
    height: calc(100vh + 3rem); } }

@media print, screen and (min-width: 64em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 3rem); } }

@media print, screen and (min-width: 80em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 3rem); } }

@media screen and (min-width: 103.125em) {
  .grid-margin-y.xxlarge-grid-frame {
    height: calc(100vh + 3rem); } }

@media screen and (min-width: 120em) {
  .grid-margin-y.wide-grid-frame {
    height: calc(100vh + 3rem); } }

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

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

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

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

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

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  text-rendering: optimizeLegibility;
  color: inherit;
  font-style: normal;
  font-weight: normal;
  font-family: "caecilia-sans-text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    color: #89939B;
    line-height: 0; }

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

h2, .h2 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.875rem;
  line-height: 1.25; }

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

h4, .h4 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.125rem;
  line-height: 1.25; }

h5, .h5 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1.0625rem;
  line-height: 1.25; }

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

@media print, screen and (min-width: 48.875em) {
  h1, .h1 {
    font-size: 4.25rem; }
  h2, .h2 {
    font-size: 2.125rem; }
  h3, .h3 {
    font-size: 1.75rem; }
  h4, .h4 {
    font-size: 1.375rem; } }

@media print, screen and (min-width: 80em) {
  h4, .h4 {
    font-size: 1.5rem; } }

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

blockquote {
  margin: 0 0 1.5rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #89939B; }
  blockquote, blockquote p {
    color: #8a8a8a;
    line-height: 1.5; }

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

figure {
  margin: 0; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  border-radius: 0.35rem;
  background-color: #efefef;
  color: #1a1a1a;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

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

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

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

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

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

.code-inline, code {
  word-wrap: break-word;
  display: inline;
  max-width: 100%;
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #89939B;
  background-color: #efefef;
  color: #1a1a1a;
  font-weight: normal;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

.code-block {
  display: block;
  margin-bottom: 1.5rem;
  padding: 1rem;
  overflow: auto;
  border: 1px solid #89939B;
  background-color: #efefef;
  color: #1a1a1a;
  font-weight: normal;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  white-space: pre; }

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

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

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

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

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

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

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

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

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

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

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

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

.button, .gdpr-framework-privacy-tools .button,
#gdpr-submit {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 1.25em 2.5em;
  border: 1px solid transparent;
  border-radius: 0.35rem;
  font-size: 0.895rem;
  line-height: 1;
  font-family: inherit;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 0.25s ease-out, color 0.25s ease-out; }
  [data-whatinput='mouse'] .button,
  [data-whatinput='mouse'] #gdpr-submit {
    outline: 0; }
  .button.tiny,
  .tiny#gdpr-submit {
    font-size: 0.895rem; }
  .button.small,
  .small#gdpr-submit {
    font-size: 0.75rem; }
  .button.large,
  .large#gdpr-submit {
    font-size: 1.25rem; }
  .button.expanded,
  .expanded#gdpr-submit {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button, .gdpr-framework-privacy-tools .button,
  #gdpr-submit, .button.disabled,
  .disabled#gdpr-submit, .button[disabled],
  #gdpr-submit[disabled], .button.disabled:hover,
  .disabled#gdpr-submit:hover, .button[disabled]:hover,
  #gdpr-submit[disabled]:hover, .button.disabled:focus,
  .disabled#gdpr-submit:focus, .button[disabled]:focus,
  #gdpr-submit[disabled]:focus {
    background-color: #03502C;
    color: #fefefe; }
  .button:hover,
  #gdpr-submit:hover, .button:focus,
  #gdpr-submit:focus {
    background-color: #023c21;
    color: #fefefe; }
  .button.primary,
  .primary#gdpr-submit, .button.primary.disabled,
  .primary.disabled#gdpr-submit, .button.primary[disabled],
  .primary#gdpr-submit[disabled], .button.primary.disabled:hover,
  .primary.disabled#gdpr-submit:hover, .button.primary[disabled]:hover,
  .primary#gdpr-submit[disabled]:hover, .button.primary.disabled:focus,
  .primary.disabled#gdpr-submit:focus, .button.primary[disabled]:focus,
  .primary#gdpr-submit[disabled]:focus {
    background-color: #03502C;
    color: #fefefe; }
  .button.primary:hover,
  .primary#gdpr-submit:hover, .button.primary:focus,
  .primary#gdpr-submit:focus {
    background-color: #024023;
    color: #fefefe; }
  .button.secondary,
  .secondary#gdpr-submit, .button.secondary.disabled,
  .secondary.disabled#gdpr-submit, .button.secondary[disabled],
  .secondary#gdpr-submit[disabled], .button.secondary.disabled:hover,
  .secondary.disabled#gdpr-submit:hover, .button.secondary[disabled]:hover,
  .secondary#gdpr-submit[disabled]:hover, .button.secondary.disabled:focus,
  .secondary.disabled#gdpr-submit:focus, .button.secondary[disabled]:focus,
  .secondary#gdpr-submit[disabled]:focus {
    background-color: #407636;
    color: #fefefe; }
  .button.secondary:hover,
  .secondary#gdpr-submit:hover, .button.secondary:focus,
  .secondary#gdpr-submit:focus {
    background-color: #335e2b;
    color: #fefefe; }
  .button.success,
  .success#gdpr-submit, .button.success.disabled,
  .success.disabled#gdpr-submit, .button.success[disabled],
  .success#gdpr-submit[disabled], .button.success.disabled:hover,
  .success.disabled#gdpr-submit:hover, .button.success[disabled]:hover,
  .success#gdpr-submit[disabled]:hover, .button.success.disabled:focus,
  .success.disabled#gdpr-submit:focus, .button.success[disabled]:focus,
  .success#gdpr-submit[disabled]:focus {
    background-color: #46954C;
    color: #1a1a1a; }
  .button.success:hover,
  .success#gdpr-submit:hover, .button.success:focus,
  .success#gdpr-submit:focus {
    background-color: #38773d;
    color: #1a1a1a; }
  .button.warning,
  .warning#gdpr-submit, .button.warning.disabled,
  .warning.disabled#gdpr-submit, .button.warning[disabled],
  .warning#gdpr-submit[disabled], .button.warning.disabled:hover,
  .warning.disabled#gdpr-submit:hover, .button.warning[disabled]:hover,
  .warning#gdpr-submit[disabled]:hover, .button.warning.disabled:focus,
  .warning.disabled#gdpr-submit:focus, .button.warning[disabled]:focus,
  .warning#gdpr-submit[disabled]:focus {
    background-color: #ffae00;
    color: #1a1a1a; }
  .button.warning:hover,
  .warning#gdpr-submit:hover, .button.warning:focus,
  .warning#gdpr-submit:focus {
    background-color: #cc8b00;
    color: #1a1a1a; }
  .button.alert,
  .alert#gdpr-submit, .button.alert.disabled,
  .alert.disabled#gdpr-submit, .button.alert[disabled],
  .alert#gdpr-submit[disabled], .button.alert.disabled:hover,
  .alert.disabled#gdpr-submit:hover, .button.alert[disabled]:hover,
  .alert#gdpr-submit[disabled]:hover, .button.alert.disabled:focus,
  .alert.disabled#gdpr-submit:focus, .button.alert[disabled]:focus,
  .alert#gdpr-submit[disabled]:focus {
    background-color: #cc4b37;
    color: #fefefe; }
  .button.alert:hover,
  .alert#gdpr-submit:hover, .button.alert:focus,
  .alert#gdpr-submit:focus {
    background-color: #a53b2a;
    color: #fefefe; }
  .button.hollow,
  .hollow#gdpr-submit, .button.hollow:hover,
  .hollow#gdpr-submit:hover, .button.hollow:focus,
  .hollow#gdpr-submit:focus, .button.hollow.disabled,
  .hollow.disabled#gdpr-submit, .button.hollow.disabled:hover,
  .hollow.disabled#gdpr-submit:hover, .button.hollow.disabled:focus,
  .hollow.disabled#gdpr-submit:focus, .button.hollow[disabled],
  .hollow#gdpr-submit[disabled], .button.hollow[disabled]:hover,
  .hollow#gdpr-submit[disabled]:hover, .button.hollow[disabled]:focus,
  .hollow#gdpr-submit[disabled]:focus {
    background-color: transparent; }
  .button.hollow,
  .hollow#gdpr-submit, .button.hollow.disabled,
  .hollow.disabled#gdpr-submit, .button.hollow[disabled],
  .hollow#gdpr-submit[disabled], .button.hollow.disabled:hover,
  .hollow.disabled#gdpr-submit:hover, .button.hollow[disabled]:hover,
  .hollow#gdpr-submit[disabled]:hover, .button.hollow.disabled:focus,
  .hollow.disabled#gdpr-submit:focus, .button.hollow[disabled]:focus,
  .hollow#gdpr-submit[disabled]:focus {
    border: 1px solid #03502C;
    color: #03502C; }
  .button.hollow:hover,
  .hollow#gdpr-submit:hover, .button.hollow:focus,
  .hollow#gdpr-submit:focus {
    border-color: #022816;
    color: #022816; }
  .button.hollow.primary,
  .hollow.primary#gdpr-submit, .button.hollow.primary.disabled,
  .hollow.primary.disabled#gdpr-submit, .button.hollow.primary[disabled],
  .hollow.primary#gdpr-submit[disabled], .button.hollow.primary.disabled:hover,
  .hollow.primary.disabled#gdpr-submit:hover, .button.hollow.primary[disabled]:hover,
  .hollow.primary#gdpr-submit[disabled]:hover, .button.hollow.primary.disabled:focus,
  .hollow.primary.disabled#gdpr-submit:focus, .button.hollow.primary[disabled]:focus,
  .hollow.primary#gdpr-submit[disabled]:focus {
    border: 1px solid #03502C;
    color: #03502C; }
  .button.hollow.primary:hover,
  .hollow.primary#gdpr-submit:hover, .button.hollow.primary:focus,
  .hollow.primary#gdpr-submit:focus {
    border-color: #022816;
    color: #022816; }
  .button.hollow.secondary,
  .hollow.secondary#gdpr-submit, .button.hollow.secondary.disabled,
  .hollow.secondary.disabled#gdpr-submit, .button.hollow.secondary[disabled],
  .hollow.secondary#gdpr-submit[disabled], .button.hollow.secondary.disabled:hover,
  .hollow.secondary.disabled#gdpr-submit:hover, .button.hollow.secondary[disabled]:hover,
  .hollow.secondary#gdpr-submit[disabled]:hover, .button.hollow.secondary.disabled:focus,
  .hollow.secondary.disabled#gdpr-submit:focus, .button.hollow.secondary[disabled]:focus,
  .hollow.secondary#gdpr-submit[disabled]:focus {
    border: 1px solid #407636;
    color: #407636; }
  .button.hollow.secondary:hover,
  .hollow.secondary#gdpr-submit:hover, .button.hollow.secondary:focus,
  .hollow.secondary#gdpr-submit:focus {
    border-color: #203b1b;
    color: #203b1b; }
  .button.hollow.success,
  .hollow.success#gdpr-submit, .button.hollow.success.disabled,
  .hollow.success.disabled#gdpr-submit, .button.hollow.success[disabled],
  .hollow.success#gdpr-submit[disabled], .button.hollow.success.disabled:hover,
  .hollow.success.disabled#gdpr-submit:hover, .button.hollow.success[disabled]:hover,
  .hollow.success#gdpr-submit[disabled]:hover, .button.hollow.success.disabled:focus,
  .hollow.success.disabled#gdpr-submit:focus, .button.hollow.success[disabled]:focus,
  .hollow.success#gdpr-submit[disabled]:focus {
    border: 1px solid #46954C;
    color: #46954C; }
  .button.hollow.success:hover,
  .hollow.success#gdpr-submit:hover, .button.hollow.success:focus,
  .hollow.success#gdpr-submit:focus {
    border-color: #234b26;
    color: #234b26; }
  .button.hollow.warning,
  .hollow.warning#gdpr-submit, .button.hollow.warning.disabled,
  .hollow.warning.disabled#gdpr-submit, .button.hollow.warning[disabled],
  .hollow.warning#gdpr-submit[disabled], .button.hollow.warning.disabled:hover,
  .hollow.warning.disabled#gdpr-submit:hover, .button.hollow.warning[disabled]:hover,
  .hollow.warning#gdpr-submit[disabled]:hover, .button.hollow.warning.disabled:focus,
  .hollow.warning.disabled#gdpr-submit:focus, .button.hollow.warning[disabled]:focus,
  .hollow.warning#gdpr-submit[disabled]:focus {
    border: 1px solid #ffae00;
    color: #ffae00; }
  .button.hollow.warning:hover,
  .hollow.warning#gdpr-submit:hover, .button.hollow.warning:focus,
  .hollow.warning#gdpr-submit:focus {
    border-color: #805700;
    color: #805700; }
  .button.hollow.alert,
  .hollow.alert#gdpr-submit, .button.hollow.alert.disabled,
  .hollow.alert.disabled#gdpr-submit, .button.hollow.alert[disabled],
  .hollow.alert#gdpr-submit[disabled], .button.hollow.alert.disabled:hover,
  .hollow.alert.disabled#gdpr-submit:hover, .button.hollow.alert[disabled]:hover,
  .hollow.alert#gdpr-submit[disabled]:hover, .button.hollow.alert.disabled:focus,
  .hollow.alert.disabled#gdpr-submit:focus, .button.hollow.alert[disabled]:focus,
  .hollow.alert#gdpr-submit[disabled]:focus {
    border: 1px solid #cc4b37;
    color: #cc4b37; }
  .button.hollow.alert:hover,
  .hollow.alert#gdpr-submit:hover, .button.hollow.alert:focus,
  .hollow.alert#gdpr-submit:focus {
    border-color: #67251a;
    color: #67251a; }
  .button.clear,
  .clear#gdpr-submit, .button.clear:hover,
  .clear#gdpr-submit:hover, .button.clear:focus,
  .clear#gdpr-submit:focus, .button.clear.disabled,
  .clear.disabled#gdpr-submit, .button.clear.disabled:hover,
  .clear.disabled#gdpr-submit:hover, .button.clear.disabled:focus,
  .clear.disabled#gdpr-submit:focus, .button.clear[disabled],
  .clear#gdpr-submit[disabled], .button.clear[disabled]:hover,
  .clear#gdpr-submit[disabled]:hover, .button.clear[disabled]:focus,
  .clear#gdpr-submit[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button.clear,
  .clear#gdpr-submit, .button.clear.disabled,
  .clear.disabled#gdpr-submit, .button.clear[disabled],
  .clear#gdpr-submit[disabled], .button.clear.disabled:hover,
  .clear.disabled#gdpr-submit:hover, .button.clear[disabled]:hover,
  .clear#gdpr-submit[disabled]:hover, .button.clear.disabled:focus,
  .clear.disabled#gdpr-submit:focus, .button.clear[disabled]:focus,
  .clear#gdpr-submit[disabled]:focus {
    color: #03502C; }
  .button.clear:hover,
  .clear#gdpr-submit:hover, .button.clear:focus,
  .clear#gdpr-submit:focus {
    color: #022816; }
  .button.clear.primary,
  .clear.primary#gdpr-submit, .button.clear.primary.disabled,
  .clear.primary.disabled#gdpr-submit, .button.clear.primary[disabled],
  .clear.primary#gdpr-submit[disabled], .button.clear.primary.disabled:hover,
  .clear.primary.disabled#gdpr-submit:hover, .button.clear.primary[disabled]:hover,
  .clear.primary#gdpr-submit[disabled]:hover, .button.clear.primary.disabled:focus,
  .clear.primary.disabled#gdpr-submit:focus, .button.clear.primary[disabled]:focus,
  .clear.primary#gdpr-submit[disabled]:focus {
    color: #03502C; }
  .button.clear.primary:hover,
  .clear.primary#gdpr-submit:hover, .button.clear.primary:focus,
  .clear.primary#gdpr-submit:focus {
    color: #022816; }
  .button.clear.secondary,
  .clear.secondary#gdpr-submit, .button.clear.secondary.disabled,
  .clear.secondary.disabled#gdpr-submit, .button.clear.secondary[disabled],
  .clear.secondary#gdpr-submit[disabled], .button.clear.secondary.disabled:hover,
  .clear.secondary.disabled#gdpr-submit:hover, .button.clear.secondary[disabled]:hover,
  .clear.secondary#gdpr-submit[disabled]:hover, .button.clear.secondary.disabled:focus,
  .clear.secondary.disabled#gdpr-submit:focus, .button.clear.secondary[disabled]:focus,
  .clear.secondary#gdpr-submit[disabled]:focus {
    color: #407636; }
  .button.clear.secondary:hover,
  .clear.secondary#gdpr-submit:hover, .button.clear.secondary:focus,
  .clear.secondary#gdpr-submit:focus {
    color: #203b1b; }
  .button.clear.success,
  .clear.success#gdpr-submit, .button.clear.success.disabled,
  .clear.success.disabled#gdpr-submit, .button.clear.success[disabled],
  .clear.success#gdpr-submit[disabled], .button.clear.success.disabled:hover,
  .clear.success.disabled#gdpr-submit:hover, .button.clear.success[disabled]:hover,
  .clear.success#gdpr-submit[disabled]:hover, .button.clear.success.disabled:focus,
  .clear.success.disabled#gdpr-submit:focus, .button.clear.success[disabled]:focus,
  .clear.success#gdpr-submit[disabled]:focus {
    color: #46954C; }
  .button.clear.success:hover,
  .clear.success#gdpr-submit:hover, .button.clear.success:focus,
  .clear.success#gdpr-submit:focus {
    color: #234b26; }
  .button.clear.warning,
  .clear.warning#gdpr-submit, .button.clear.warning.disabled,
  .clear.warning.disabled#gdpr-submit, .button.clear.warning[disabled],
  .clear.warning#gdpr-submit[disabled], .button.clear.warning.disabled:hover,
  .clear.warning.disabled#gdpr-submit:hover, .button.clear.warning[disabled]:hover,
  .clear.warning#gdpr-submit[disabled]:hover, .button.clear.warning.disabled:focus,
  .clear.warning.disabled#gdpr-submit:focus, .button.clear.warning[disabled]:focus,
  .clear.warning#gdpr-submit[disabled]:focus {
    color: #ffae00; }
  .button.clear.warning:hover,
  .clear.warning#gdpr-submit:hover, .button.clear.warning:focus,
  .clear.warning#gdpr-submit:focus {
    color: #805700; }
  .button.clear.alert,
  .clear.alert#gdpr-submit, .button.clear.alert.disabled,
  .clear.alert.disabled#gdpr-submit, .button.clear.alert[disabled],
  .clear.alert#gdpr-submit[disabled], .button.clear.alert.disabled:hover,
  .clear.alert.disabled#gdpr-submit:hover, .button.clear.alert[disabled]:hover,
  .clear.alert#gdpr-submit[disabled]:hover, .button.clear.alert.disabled:focus,
  .clear.alert.disabled#gdpr-submit:focus, .button.clear.alert[disabled]:focus,
  .clear.alert#gdpr-submit[disabled]:focus {
    color: #cc4b37; }
  .button.clear.alert:hover,
  .clear.alert#gdpr-submit:hover, .button.clear.alert:focus,
  .clear.alert#gdpr-submit:focus {
    color: #67251a; }
  .button.disabled,
  .disabled#gdpr-submit, .button[disabled],
  #gdpr-submit[disabled] {
    cursor: not-allowed;
    opacity: 0.25; }
  .button.dropdown::after,
  .dropdown#gdpr-submit::after {
    display: block;
    display: inline-block;
    position: relative;
    top: 0.4em;
    width: 0;
    height: 0;
    margin-left: 2.5em;
    float: right;
    border: inset 0.4em;
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #fefefe transparent transparent;
    content: ''; }
  .button.dropdown.hollow::after,
  .dropdown.hollow#gdpr-submit::after, .button.dropdown.clear::after,
  .dropdown.clear#gdpr-submit::after {
    border-top-color: #03502C; }
  .button.dropdown.hollow.primary::after,
  .dropdown.hollow.primary#gdpr-submit::after, .button.dropdown.clear.primary::after,
  .dropdown.clear.primary#gdpr-submit::after {
    border-top-color: #03502C; }
  .button.dropdown.hollow.secondary::after,
  .dropdown.hollow.secondary#gdpr-submit::after, .button.dropdown.clear.secondary::after,
  .dropdown.clear.secondary#gdpr-submit::after {
    border-top-color: #407636; }
  .button.dropdown.hollow.success::after,
  .dropdown.hollow.success#gdpr-submit::after, .button.dropdown.clear.success::after,
  .dropdown.clear.success#gdpr-submit::after {
    border-top-color: #46954C; }
  .button.dropdown.hollow.warning::after,
  .dropdown.hollow.warning#gdpr-submit::after, .button.dropdown.clear.warning::after,
  .dropdown.clear.warning#gdpr-submit::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after,
  .dropdown.hollow.alert#gdpr-submit::after, .button.dropdown.clear.alert::after,
  .dropdown.clear.alert#gdpr-submit::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after,
  .arrow-only#gdpr-submit::after {
    top: -0.1em;
    margin-left: 0;
    float: none; }

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

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

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

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

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

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

::-webkit-input-placeholder {
  color: #89939B; }

::-moz-placeholder {
  color: #89939B; }

:-ms-input-placeholder {
  color: #89939B; }

::-ms-input-placeholder {
  color: #89939B; }

::placeholder {
  color: #89939B; }

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

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

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

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

label {
  display: block;
  margin: 0;
  color: #1a1a1a;
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 1.5; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  color: #1a1a1a;
  font-style: italic;
  font-size: 0.8125rem; }

.input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0.35rem 0 0 0.35rem; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0.35rem 0.35rem 0; }

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

.input-group-label {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  padding: 0 1rem;
  border: 1px solid #89939B;
  background: #efefef;
  color: #1a1a1a;
  text-align: center;
  white-space: nowrap; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

.input-group-button {
  display: flex;
  flex: 0 0 auto;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    align-self: stretch;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

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

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

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #89939B; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

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

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

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

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

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

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

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

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

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

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

html.is-reveal-open {
  position: fixed;
  width: 100%;
  overflow-y: hidden; }
  html.is-reveal-open.zf-has-scroll {
    overflow-y: scroll; }
  html.is-reveal-open body {
    overflow-y: hidden; }

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

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

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

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

@media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
  .hide-for-tablet-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.align-left {
  justify-content: flex-start; }

.align-right {
  justify-content: flex-end; }

.align-center {
  justify-content: center; }

.align-justify {
  justify-content: space-between; }

.align-spaced {
  justify-content: space-around; }

.align-left.vertical.menu > li > a {
  justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  justify-content: center; }

.align-top {
  align-items: flex-start; }

.align-self-top {
  align-self: flex-start; }

.align-bottom {
  align-items: flex-end; }

.align-self-bottom {
  align-self: flex-end; }

.align-middle {
  align-items: center; }

.align-self-middle {
  align-self: center; }

.align-stretch {
  align-items: stretch; }

.align-self-stretch {
  align-self: stretch; }

.align-center-middle {
  align-content: center;
  align-items: center;
  justify-content: center; }

.small-order-1 {
  order: 1; }

.small-order-2 {
  order: 2; }

.small-order-3 {
  order: 3; }

.small-order-4 {
  order: 4; }

.small-order-5 {
  order: 5; }

.small-order-6 {
  order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    order: 1; }
  .medium-order-2 {
    order: 2; }
  .medium-order-3 {
    order: 3; }
  .medium-order-4 {
    order: 4; }
  .medium-order-5 {
    order: 5; }
  .medium-order-6 {
    order: 6; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-order-1 {
    order: 1; }
  .tablet-order-2 {
    order: 2; }
  .tablet-order-3 {
    order: 3; }
  .tablet-order-4 {
    order: 4; }
  .tablet-order-5 {
    order: 5; }
  .tablet-order-6 {
    order: 6; } }

@media print, screen and (min-width: 64em) {
  .large-order-1 {
    order: 1; }
  .large-order-2 {
    order: 2; }
  .large-order-3 {
    order: 3; }
  .large-order-4 {
    order: 4; }
  .large-order-5 {
    order: 5; }
  .large-order-6 {
    order: 6; } }

@media print, screen and (min-width: 80em) {
  .xlarge-order-1 {
    order: 1; }
  .xlarge-order-2 {
    order: 2; }
  .xlarge-order-3 {
    order: 3; }
  .xlarge-order-4 {
    order: 4; }
  .xlarge-order-5 {
    order: 5; }
  .xlarge-order-6 {
    order: 6; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-order-1 {
    order: 1; }
  .xxlarge-order-2 {
    order: 2; }
  .xxlarge-order-3 {
    order: 3; }
  .xxlarge-order-4 {
    order: 4; }
  .xxlarge-order-5 {
    order: 5; }
  .xxlarge-order-6 {
    order: 6; } }

@media screen and (min-width: 120em) {
  .wide-order-1 {
    order: 1; }
  .wide-order-2 {
    order: 2; }
  .wide-order-3 {
    order: 3; }
  .wide-order-4 {
    order: 4; }
  .wide-order-5 {
    order: 5; }
  .wide-order-6 {
    order: 6; } }

.flex-container {
  display: flex; }

.flex-child-auto {
  flex: 1 1 auto; }

.flex-child-grow {
  flex: 1 0 auto; }

.flex-child-shrink {
  flex: 0 1 auto; }

.flex-dir-row {
  flex-direction: row; }

.flex-dir-row-reverse {
  flex-direction: row-reverse; }

.flex-dir-column {
  flex-direction: column; }

.flex-dir-column-reverse {
  flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: flex; }
  .medium-flex-child-auto {
    flex: 1 1 auto; }
  .medium-flex-child-grow {
    flex: 1 0 auto; }
  .medium-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-flex-dir-row {
    flex-direction: row; }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-flex-dir-column {
    flex-direction: column; }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 48.875em) {
  .tablet-flex-container {
    display: flex; }
  .tablet-flex-child-auto {
    flex: 1 1 auto; }
  .tablet-flex-child-grow {
    flex: 1 0 auto; }
  .tablet-flex-child-shrink {
    flex: 0 1 auto; }
  .tablet-flex-dir-row {
    flex-direction: row; }
  .tablet-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .tablet-flex-dir-column {
    flex-direction: column; }
  .tablet-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 64em) {
  .large-flex-container {
    display: flex; }
  .large-flex-child-auto {
    flex: 1 1 auto; }
  .large-flex-child-grow {
    flex: 1 0 auto; }
  .large-flex-child-shrink {
    flex: 0 1 auto; }
  .large-flex-dir-row {
    flex-direction: row; }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .large-flex-dir-column {
    flex-direction: column; }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 80em) {
  .xlarge-flex-container {
    display: flex; }
  .xlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 103.125em) {
  .xxlarge-flex-container {
    display: flex; }
  .xxlarge-flex-child-auto {
    flex: 1 1 auto; }
  .xxlarge-flex-child-grow {
    flex: 1 0 auto; }
  .xxlarge-flex-child-shrink {
    flex: 0 1 auto; }
  .xxlarge-flex-dir-row {
    flex-direction: row; }
  .xxlarge-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .xxlarge-flex-dir-column {
    flex-direction: column; }
  .xxlarge-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media screen and (min-width: 120em) {
  .wide-flex-container {
    display: flex; }
  .wide-flex-child-auto {
    flex: 1 1 auto; }
  .wide-flex-child-grow {
    flex: 1 0 auto; }
  .wide-flex-child-shrink {
    flex: 0 1 auto; }
  .wide-flex-dir-row {
    flex-direction: row; }
  .wide-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .wide-flex-dir-column {
    flex-direction: column; }
  .wide-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

label.checkbox input[type='radio'],
label.checkbox input[type='checkbox'], .hny .gform_wrapper .gfield_time_hour i,
.hny .gform_wrapper .gfield_time_hour label,
.hny .gform_wrapper .gfield_time_minute i,
.hny .gform_wrapper .gfield_time_minute label, html .gform_wrapper.gravity-theme .gform_required_legend,
.u-screen-reader {
  clip: rect(0 0 0 0);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0; }


.u-clearfix::before,
.u-clearfix::after {
  display: table;
  flex-basis: 0;
  order: 1;
  content: ' '; }


.u-clearfix::after {
  clear: both; }

.wysiwyg a:not([href$=".pdf"])[target='_blank']:after,
.u-external-link:after {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-bottom: 3px;
  margin-left: 4px;
  background-image: url("../images/external-link.svg");
  background-size: 8px;
  content: '';
  vertical-align: middle; }
  .padded-block .wysiwyg a:not([href$=".pdf"])[target='_blank']:after, .wysiwyg .padded-block a:not([href$=".pdf"])[target='_blank']:after, .padded-block
  .u-external-link:after {
    background-image: url("../images/external-link-alt.svg"); }


.u-photo-bg, .brochures__item figure, .card__photo figure, .gallery figure, .hero--landing, .hero figure, .map figure, .product-categories__item > figure, .product-gallery__slider .swiper-slide figure, .recent-updates figure,
.u-bg-cover {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }


.u-bg-contain {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat; }


.u-bg-100 {
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat; }

.u-svg-container {
  position: relative;
  width: 100%;
  height: 0; }
  .u-svg-container img,
  .u-svg-container svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .u-svg-container--logo {
    padding-bottom: 89.40929%; }


.u-photo-bg {
  padding-bottom: 66.66667%; }
  
  .u-photo-bg--square {
    padding-bottom: 100%; }
  
  .u-photo-bg--extend-left {
    margin-left: calc(-100vw + 100% + 1.5rem); }
    @media print, screen and (min-width: 48.875em) {
      
      .u-photo-bg--extend-left {
        margin-left: calc(-50vw + 100% + 1.5rem); } }
  
  .u-photo-bg--extend-right {
    margin-right: calc(-100vw + 100% + 1.5rem); }
    @media print, screen and (min-width: 48.875em) {
      
      .u-photo-bg--extend-right {
        margin-right: calc(-50vw + 100% + 1.5rem); } }

@-webkit-keyframes fadeInUp {
  from {
    -webkit-transform: translateY(1.5rem);
            transform: translateY(1.5rem);
    opacity: 0; }
  to {
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

@keyframes fadeInUp {
  from {
    -webkit-transform: translateY(1.5rem);
            transform: translateY(1.5rem);
    opacity: 0; }
  to {
    -webkit-transform: none;
            transform: none;
    opacity: 1; } }

html {
  display: flex; }
  @media screen and (min-width: 103.125em) {
    html {
      font-size: 106.25%; } }

body {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  background-image: url("../images/concrete_seamless.png");
  background-color: #efefef; }
  body.admin-bar {
    min-height: calc(100vh - 46px); }
    @media print, screen and (min-width: 48.875em) {
      body.admin-bar {
        min-height: calc(100vh - 32px); } }

a {
  font-weight: bold;
  transition: all 0.2s ease-in-out; }

address {
  font-style: normal; }

label {
  cursor: pointer; }

:root {
  --swiper-theme-color: #407636; }

figure[data-bg] {
  opacity: 0; }
  figure[data-bg],
  figure[data-bg] + figure {
    transition: all 1s ease-in-out; }
  figure[data-bg].loaded {
    opacity: 1; }
    figure[data-bg].loaded ~ .loader,
    figure[data-bg].loaded + figure {
      opacity: 0; }

p.small {
  font-size: 80%; }

.woocommerce-breadcrumb {
  -webkit-text-stroke: 0.01em currentColor;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  /* or 0.01em might be better */
  margin: 0 0 1.5rem;
  font-size: 0.6875rem;
  list-style: none;
  text-transform: uppercase; }
  @media print, screen and (min-width: 80em) {
    .woocommerce-breadcrumb {
      font-size: 0.8125rem; } }
  .woocommerce-breadcrumb > a {
    font-weight: bold; }
  .woocommerce-breadcrumb > .hny-svg {
    margin-right: 0.25rem;
    margin-left: 0.25rem; }

@media print, screen and (min-width: 40em) {
  .button-group {
    display: flex;
    flex-flow: row wrap; } }

.button-group--centered {
  justify-content: center; }

@media print, screen and (max-width: 39.99875em) {
  .button-group .button,
  .button-group #gdpr-submit {
    width: 100%; } }

.button-group .button + .button, .button-group #gdpr-submit + .button, .button-group .gdpr-framework-privacy-tools .button + .button, .button-group .gdpr-framework-privacy-tools #gdpr-submit + .button,
.button-group .button + #gdpr-submit,
.button-group .gdpr-framework-privacy-tools .button + #gdpr-submit,
.button-group #gdpr-submit + #gdpr-submit {
  margin-top: 0.5rem; }
  @media print, screen and (min-width: 40em) {
    .button-group .button + .button, .button-group #gdpr-submit + .button, .button-group .gdpr-framework-privacy-tools .button + .button, .button-group .gdpr-framework-privacy-tools #gdpr-submit + .button,
    .button-group .button + #gdpr-submit,
    .button-group .gdpr-framework-privacy-tools .button + #gdpr-submit,
    .button-group #gdpr-submit + #gdpr-submit {
      margin-top: 0;
      margin-left: 0.5rem; } }

button, .button, .gdpr-framework-privacy-tools .button,
#gdpr-submit {
  outline: none;
  transition: all 0.2s ease-in-out; }

.button, .gdpr-framework-privacy-tools .button,
#gdpr-submit {
  display: inline-flex;
  z-index: 2;
  position: relative;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 2px solid #fefefe;
  outline: none;
  background: #03502C;
  box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
  letter-spacing: 0.125em;
  text-transform: uppercase; }
  .button .hny-svg, #gdpr-submit .hny-svg {
    width: 1.75em;
    height: 1.75em;
    opacity: 0.6;
    transition: inherit; }
    .button .hny-svg + span, #gdpr-submit .hny-svg + span {
      margin-left: 1rem; }
  .button span + .hny-svg, #gdpr-submit span + .hny-svg {
    margin-left: 1rem; }
  .button:after, .gdpr-framework-privacy-tools .button:after,
  #gdpr-submit:after {
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    background-image: linear-gradient(0deg, #305929 0%, rgba(7, 183, 101, 0.85) 95%);
    content: '';
    opacity: 0.1;
    transition: 300ms; }
  .button:hover .hny-svg, #gdpr-submit:hover .hny-svg {
    opacity: 1; }
  .button:hover:after,
  #gdpr-submit:hover:after {
    -webkit-transform: scale(5);
            transform: scale(5); }
  .button.secondary,
  .secondary#gdpr-submit {
    background-color: #89939B; }
    .button.secondary:after,
    .secondary#gdpr-submit:after {
      background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.5) 0%, rgba(254, 254, 254, 0.4) 75%); }
    .button.secondary:hover,
    .secondary#gdpr-submit:hover {
      background: #1a1a1a; }
  .button.success,
  .success#gdpr-submit {
    color: #fefefe; }
    .button.success:focus,
    .success#gdpr-submit:focus, .button.success:hover,
    .success#gdpr-submit:hover {
      color: #fefefe; }
  .button.tiny,
  .tiny#gdpr-submit {
    padding: 0.5em 1em;
    font-weight: normal;
    font-size: 0.75rem;
    letter-spacing: 0;
    text-transform: none; }
  .button.is-loading > span:not(.loader), .gdpr-framework-privacy-tools .is-loading.button > span:not(.loader), .is-loading#gdpr-submit > span:not(.loader) {
    visibility: hidden;
    opacity: 0; }
  .button.is-loading > span.loader, .gdpr-framework-privacy-tools .is-loading.button > span.loader, .is-loading#gdpr-submit > span.loader {
    visibility: visible;
    opacity: 1; }
  .button .loader, #gdpr-submit .loader {
    display: flex;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    opacity: 0; }

.is-drilldown {
  max-width: none !important;
  overflow: visible; }
  .is-mobile-nav-open .is-drilldown {
    min-height: 0 !important; }
  .is-drilldown * {
    overflow: hidden; }
  .is-drilldown .drilldown a {
    background: none; }
  .is-drilldown .drilldown .js-drilldown-back > a {
    font-weight: bold; }
  .is-drilldown .drilldown .is-drilldown-submenu-parent > a:focus:After, .is-drilldown .drilldown .is-drilldown-submenu-parent > a:hover:After {
    border-left-color: currentColor; }
  .is-drilldown .drilldown .is-drilldown-submenu {
    right: 100%;
    left: auto;
    margin-left: 0;
    background: none;
    opacity: 0; }
    .is-drilldown .drilldown .is-drilldown-submenu.is-active {
      -webkit-transform: translateX(100%);
              transform: translateX(100%);
      opacity: 1; }
    .is-drilldown .drilldown .is-drilldown-submenu.is-closing {
      -webkit-transform: none;
              transform: none; }

label.checkbox span {
  display: flex;
  position: relative;
  flex-flow: row nowrap;
  align-items: center;
  overflow: visible;
  text-overflow: inherit; }
  label.checkbox span:before {
    display: block;
    width: 20px;
    height: 20px;
    margin-right: 0.25rem;
    border: 1px solid #8a8a8a;
    border-radius: 50%;
    background: #fefefe;
    content: "";
    transition: all 0.2s ease-in-out; }

label.checkbox input[type='radio'] + span:before {
  border-radius: 50%; }

label.checkbox input[type='radio']:checked + span:before,
label.checkbox input[type='checkbox']:checked + span:before {
  border-color: #03502C;
  background: #fefefe;
  box-shadow: 0 0 0 5px #03502C inset; }

select {
  padding: 0.5rem 1.5rem 0.5rem 0.5rem !important; }

.hny .gf_browser_ie.gform_wrapper .gform_footer input.button,
.hny .gf_browser_ie.gform_wrapper .gform_footer input#gdpr-submit {
  padding: 1.25em 2.5em; }

.hny .gform_wrapper {
  margin-top: 0;
  margin-bottom: 0; }
  .hny .gform_wrapper h1,
  .hny .gform_wrapper h2,
  .hny .gform_wrapper h3 {
    font-weight: bold; }
  .hny .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield input[type="radio"],
  .hny .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield input[type="checkbox"] {
    vertical-align: top !important; }
  .hny .gform_wrapper.gf_browser_safari ul.gform_fields li.gfield input[type="checkbox"] {
    vertical-align: 0 !important; }
  .hny .gform_wrapper.gf_browser_safari ul.gform_fields li.gfield input[type="radio"] {
    vertical-align: -2px !important; }
  .hny .gform_wrapper form::before, .hny .gform_wrapper form::after {
    display: table;
    flex-basis: 0;
    order: 1;
    content: ' '; }
  .hny .gform_wrapper form::after {
    clear: both; }
  .hny .gform_wrapper .gfield_html table {
    border: 1px solid rgba(0, 0, 0, 0.1);
    background-color: #fefefe !important; }
    .hny .gform_wrapper .gfield_html table * {
      font-size: 0.875rem !important;
      font-family: "caecilia-sans-text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif !important; }
    .hny .gform_wrapper .gfield_html table th {
      color: #484848 !important; }
    .hny .gform_wrapper .gfield_html table tr:nth-child(odd) {
      background: #fefefe !important; }
  .hny .gform_wrapper .gfield_password_strength {
    border: 1px solid #89939B;
    background: #efefef;
    font-weight: bold; }
    .hny .gform_wrapper .gfield_password_strength.strong {
      border: 0;
      background-color: #46954C;
      color: #fefefe; }
    .hny .gform_wrapper .gfield_password_strength.good {
      border: 0;
      background-color: #ffae00;
      color: #805700; }
    .hny .gform_wrapper .gfield_password_strength.mismatch, .hny .gform_wrapper .gfield_password_strength.short, .hny .gform_wrapper .gfield_password_strength.bad {
      border: 0;
      background-color: #cc4b37;
      color: #fefefe; }
  .hny .gform_wrapper h3.gform_title {
    margin-top: 0; }
  .hny .gform_wrapper .gsection {
    padding-bottom: 0;
    border: 0; }
  .hny .gform_wrapper li.gfield + .gsection,
  .hny .gform_wrapper li.gfmc-column + .gsection {
    margin-top: 1.5rem !important; }
  .hny .gform_wrapper h2.gsection_title {
    color: #03502C;
    font-weight: bold;
    font-family: "caecilia-sans-text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; }
  .hny .gform_wrapper .ginput_container.gfield_time_ampm select {
    width: auto !important;
    max-width: none !important; }
  .hny .gform_wrapper span.ginput_product_price, .hny .gform_wrapper span.ginput_total {
    color: #46954C;
    font-size: 1.25rem; }
  .hny .gform_wrapper .gfield_time_hour,
  .hny .gform_wrapper .gfield_time_minute {
    max-width: calc(4rem + .5rem);
    margin-right: 0.5rem; }
    .hny .gform_wrapper .gfield_time_hour input,
    .hny .gform_wrapper .gfield_time_minute input {
      width: 100%; }
  @media screen and (min-width: 40.0625em) {
    .hny .gform_wrapper ul.gform_fields {
      margin-right: -16px !important; } }
  .hny .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
    margin-bottom: 0.5rem !important;
    color: #8a8a8a;
    font-size: 0.75rem;
    letter-spacing: 0; }
  .hny .gform_wrapper .field_sublabel_below .ginput_complex .ginput_cardextras {
    margin-top: 1rem;
    margin-bottom: 1rem; }
  .hny .gform_wrapper .field_sublabel_below .ginput_complex .ginput_card_security_code {
    display: inline-block; }
  .hny .gform_wrapper .gfield {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid;
    page-break-inside: avoid; }
    .hny .gform_wrapper .gfield:not(.gfield_visibility_hidden) {
      position: relative; }
  .hny .gform_wrapper .gfield_error .gfield_label {
    color: #cc4b37; }
  .hny .gform_wrapper textarea,
  .hny .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
    padding: 0.5rem !important; }
  .hny .gform_wrapper .ginput_quantity {
    display: inline;
    width: 4.25rem; }
  .hny .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label,
  .hny .gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label {
    color: #8a8a8a;
    font-size: 0.75rem;
    letter-spacing: 0; }
  .hny .gform_wrapper li.gf_list_inline ul.gfield_checkbox li, .hny .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    margin-right: 1rem !important; }
  .hny .gform_wrapper li .ginput_container_radio li label,
  .hny .gform_wrapper li .ginput_container_consent label,
  .hny .gform_wrapper li ul.gfield_checkbox li label {
    max-width: none;
    margin-right: 0;
    padding-left: 1.625rem;
    overflow: visible;
    text-overflow: inherit; }
    .hny .gform_wrapper li .ginput_container_radio li label:before,
    .hny .gform_wrapper li .ginput_container_consent label:before,
    .hny .gform_wrapper li ul.gfield_checkbox li label:before {
      display: block;
      position: absolute;
      top: 0.2em;
      left: 0;
      width: 20px;
      height: 20px;
      margin-right: 0.25rem;
      border: 1px solid #8a8a8a;
      border-radius: 50%;
      background: #fefefe;
      content: "";
      transition: all 0.2s ease-in-out; }
  .hny .gform_wrapper li .ginput_container_radio li input[type="radio"],
  .hny .gform_wrapper li .ginput_container_radio li input[type="checkbox"],
  .hny .gform_wrapper li .ginput_container_consent input[type="radio"],
  .hny .gform_wrapper li .ginput_container_consent input[type="checkbox"],
  .hny .gform_wrapper li ul.gfield_checkbox li input[type="radio"],
  .hny .gform_wrapper li ul.gfield_checkbox li input[type="checkbox"] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    position: absolute;
    opacity: 0; }
    .hny .gform_wrapper li .ginput_container_radio li input[type="radio"]:checked + label:before,
    .hny .gform_wrapper li .ginput_container_radio li input[type="checkbox"]:checked + label:before,
    .hny .gform_wrapper li .ginput_container_consent input[type="radio"]:checked + label:before,
    .hny .gform_wrapper li .ginput_container_consent input[type="checkbox"]:checked + label:before,
    .hny .gform_wrapper li ul.gfield_checkbox li input[type="radio"]:checked + label:before,
    .hny .gform_wrapper li ul.gfield_checkbox li input[type="checkbox"]:checked + label:before {
      border-color: #03502C;
      background: #fefefe;
      box-shadow: 0 0 0 5px #03502C inset; }
    .hny .gform_wrapper li .ginput_container_radio li input[type="radio"] + label,
    .hny .gform_wrapper li .ginput_container_radio li input[type="checkbox"] + label,
    .hny .gform_wrapper li .ginput_container_consent input[type="radio"] + label,
    .hny .gform_wrapper li .ginput_container_consent input[type="checkbox"] + label,
    .hny .gform_wrapper li ul.gfield_checkbox li input[type="radio"] + label,
    .hny .gform_wrapper li ul.gfield_checkbox li input[type="checkbox"] + label {
      margin-left: 0; }
  .hny .gform_wrapper li .ginput_container_consent label:before,
  .hny .gform_wrapper li ul.gfield_checkbox li label:before {
    border-radius: 0.35rem; }
  .hny .gform_wrapper .gfield_list thead {
    display: none; }
  .hny .gform_wrapper .gfield_list td.gfield_list_cell input,
  .hny .gform_wrapper .gfield_list td.gfield_list_cell select {
    margin-bottom: 0; }
  .hny .gform_wrapper .top_label div.ginput_container {
    margin-top: 0 !important; }
  .hny .gform_wrapper .top_label li ul.gfield_radio, .hny .gform_wrapper .top_label li ul.gfield_checkbox {
    width: 100%; }
  .hny .gform_wrapper div.validation_error {
    display: none; }
  .hny .gform_wrapper div.ginput_container_fileupload {
    font-size: 0.6875rem; }
    .hny .gform_wrapper div.ginput_container_fileupload input.medium {
      width: 100%;
      font-size: 0.875rem; }
  .hny .gform_wrapper .ginput_preview img:not(.gform_delete) {
    max-width: 300px; }
  .hny .gform_wrapper li.gfield {
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important; }
    .hny .gform_wrapper li.gfield .ginput_container_consent .gfield_required {
      display: none; }
    .hny .gform_wrapper li.gfield label.gfield_label {
      margin-bottom: 0 !important;
      font-weight: normal;
      font-size: 1rem; }
    .hny .gform_wrapper li.gfield label span {
      display: inline; }
    .hny .gform_wrapper li.gfield label:empty {
      display: none; }
    .hny .gform_wrapper li.gfield > label.gfield_label {
      font-weight: bold; }
    .hny .gform_wrapper li.gfield.hidden_label label {
      margin-bottom: 0 !important; }
    .hny .gform_wrapper li.gfield.hidden_label input {
      margin-top: 0; }
    .hny .gform_wrapper li.gfield select {
      line-height: 1 !important; }
    .hny .gform_wrapper li.gfield select,
    .hny .gform_wrapper li.gfield textarea,
    .hny .gform_wrapper li.gfield input {
      margin-top: 0 !important;
      margin-bottom: 0 !important; }
      .hny .gform_wrapper li.gfield select + label,
      .hny .gform_wrapper li.gfield textarea + label,
      .hny .gform_wrapper li.gfield input + label {
        margin-bottom: 0 !important; }
    .hny .gform_wrapper li.gfield textarea {
      max-height: 200px; }
      .no-max-height .hny .gform_wrapper li.gfield textarea {
        max-height: none; }
    .hny .gform_wrapper li.gfield.gfield_error {
      margin-bottom: 1.5rem !important;
      padding-top: 0;
      padding-bottom: 0;
      border: none;
      background: none;
      font-weight: bold; }
      .hny .gform_wrapper li.gfield.gfield_error select,
      .hny .gform_wrapper li.gfield.gfield_error textarea,
      .hny .gform_wrapper li.gfield.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
        margin-bottom: 0;
        border-color: #cc4b37;
        box-shadow: inset 0 -3px 0 0 #cc4b37; }
      .hny .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
        margin-top: 0; }
  .hny .gform_wrapper .field_description_above .gfield_description {
    padding-bottom: 0.25rem; }
  .hny .gform_wrapper .field_description_above .gfield_description,
  .hny .gform_wrapper .field_description_below .gfield_description {
    padding-top: 0.25rem; }
    .hny .gform_wrapper .field_description_above .gfield_description.validation_message,
    .hny .gform_wrapper .field_description_below .gfield_description.validation_message {
      padding-right: 0;
      color: #cc4b37;
      font-weight: normal;
      font-size: 0.625rem; }
  .hny .gform_wrapper .field_description_above .instruction,
  .hny .gform_wrapper .field_description_below .instruction {
    display: none; }
  .hny .gform_wrapper .ginput_container_date {
    position: relative; }
    .hny .gform_wrapper .ginput_container_date img.ui-datepicker-trigger {
      position: absolute;
      top: 50%;
      right: 0.5rem;
      margin-top: -8px;
      cursor: pointer; }
  .hny .gform_wrapper .top_label input.large.datepicker, .hny .gform_wrapper .top_label input.medium.datepicker, .hny .gform_wrapper .top_label input.small.datepicker {
    width: 100%; }
  .hny .gform_wrapper .gform_ajax_spinner,
  .hny .gform_wrapper .gform-loader {
    display: none; }
  .hny .gform_wrapper .gform_page_footer {
    display: flex;
    flex-flow: row wrap;
    align-items: center; }
    .hny .gform_wrapper .gform_page_footer .button + .button, .hny .gform_wrapper .gform_page_footer #gdpr-submit + .button, .hny .gform_wrapper .gform_page_footer .gdpr-framework-privacy-tools .button + .button, .hny .gform_wrapper .gform_page_footer .gdpr-framework-privacy-tools #gdpr-submit + .button,
    .hny .gform_wrapper .gform_page_footer .button + #gdpr-submit,
    .hny .gform_wrapper .gform_page_footer .gdpr-framework-privacy-tools .button + #gdpr-submit,
    .hny .gform_wrapper .gform_page_footer #gdpr-submit + #gdpr-submit {
      margin-left: 0.5rem; }
    .hny .gform_wrapper .gform_page_footer .button.gform_button,
    .hny .gform_wrapper .gform_page_footer .gform_button#gdpr-submit, .hny .gform_wrapper .gform_page_footer .button.gform_next_button,
    .hny .gform_wrapper .gform_page_footer .gform_next_button#gdpr-submit {
      margin-right: 0; }
    .hny .gform_wrapper .gform_page_footer .button.gform_previous_button,
    .hny .gform_wrapper .gform_page_footer .gform_previous_button#gdpr-submit {
      margin-bottom: 0; }
  .hny .gform_wrapper .gform_footer {
    display: flex;
    position: relative;
    flex-flow: row wrap;
    margin-top: 0;
    padding: 0; }
    .hny .gform_wrapper .gform_footer .denotes-required {
      display: block;
      color: #8a8a8a;
      font-style: italic;
      font-size: 0.75rem; }
      .hny .gform_wrapper .gform_footer .denotes-required:before {
        display: inline-block;
        width: 8px;
        height: 8px;
        margin-top: -4px;
        margin-right: 0.5rem;
        border-radius: 50%;
        background: #cc4b37;
        content: ""; }
  .hny .gform_wrapper .gform_footer input.button,
  .hny .gform_wrapper .gform_footer input#gdpr-submit,
  .hny .gform_wrapper .gform_footer .button,
  .hny .gform_wrapper .gform_footer #gdpr-submit,
  .hny .gform_wrapper .gform_footer input[type="submit"] {
    margin: 0;
    font-weight: bold; }
  .hny .gform_wrapper .chosen-container-multi .chosen-choices {
    padding: 1rem;
    border: 1px solid #89939B;
    background: #fefefe; }
    .hny .gform_wrapper .chosen-container-multi .chosen-choices input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']).chosen-search-input {
      padding: 0 !important; }
  .hny .gform_wrapper .chosen-container-active .chosen-choices {
    border: 1px solid #46954C;
    box-shadow: none; }
  @media print, screen and (min-width: 48.875em) {
    .hny .gform_wrapper .hny-date-time-list table tr {
      display: flex !important;
      flex-flow: row nowrap;
      align-items: center;
      background: none !important; }
      .hny .gform_wrapper .hny-date-time-list table tr td {
        flex: 0 1 auto; }
        .hny .gform_wrapper .hny-date-time-list table tr td + td {
          padding-left: 0; } }

.hny .gform_delete {
  margin-right: 1rem; }

.hny .grecaptcha-badge {
  z-index: 9999999; }

html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"] {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 1.25em 2.5em;
  border: 1px solid transparent;
  border-radius: 0.35rem;
  font-size: 0.895rem;
  line-height: 1;
  font-family: inherit;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 0.25s ease-out, color 0.25s ease-out; }
  [data-whatinput='mouse'] html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"] {
    outline: 0; }
  html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"], html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"].disabled, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"][disabled], html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"].disabled:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"][disabled]:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"].disabled:focus, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"][disabled]:focus {
    background-color: #03502C;
    color: #fefefe; }
  html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"]:hover, html .gform_wrapper.gravity-theme .form_saved_message input[name="gform_send_resume_link_button"]:focus {
    background-color: #023c21;
    color: #fefefe; }

html .gform_wrapper.gravity-theme .form_saved_message .resume_form_link_wrapper {
  font-size: 125%;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }
  html .gform_wrapper.gravity-theme .form_saved_message .resume_form_link_wrapper ~ p {
    font-size: 0.875rem; }

html .gform_wrapper.gravity-theme .gform_save_link.button,
html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit {
  color: #03502C; }
  html .gform_wrapper.gravity-theme .gform_save_link.button:focus,
  html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit:focus, html .gform_wrapper.gravity-theme .gform_save_link.button:hover,
  html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit:hover {
    color: #024023; }

html .gform_wrapper.gravity-theme .gform_save_link, html .gform_wrapper.gravity-theme .gform_save_link.button,
html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit {
  order: 1;
  height: auto;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  background: none;
  line-height: 1.5;
  text-decoration: underline; }
  html .gform_wrapper.gravity-theme .gform_save_link:before, html .gform_wrapper.gravity-theme .gform_save_link:after, html .gform_wrapper.gravity-theme .gform_save_link.button:before,
  html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit:before, html .gform_wrapper.gravity-theme .gform_save_link.button:after,
  html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit:after {
    content: none; }
  html .gform_wrapper.gravity-theme .gform_save_link svg, html .gform_wrapper.gravity-theme .gform_save_link.button svg, html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit svg {
    display: none; }
  @media print, screen and (max-width: 39.99875em) {
    html .gform_wrapper.gravity-theme .gform_save_link, html .gform_wrapper.gravity-theme .gform_save_link.button,
    html .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit {
      flex: 1 0 auto;
      order: 100;
      width: 100%;
      margin: 0.5rem 0 0;
      font-size: 0.75rem; } }

html .gform_wrapper.gravity-theme .gfield_signature_container {
  width: 100vw !important; }
  html .gform_wrapper.gravity-theme .gfield_signature_container + div {
    visibility: hidden !important;
    position: absolute !important; }

html .gform_wrapper.gravity-theme .gform_validation_errors {
  margin-top: 0;
  margin-bottom: 1rem;
  padding: 1rem; }
  html .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
    margin: 0;
    color: #cc4b37;
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.5;
    font-family: "caecilia-sans-text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
    letter-spacing: inherit;
    text-transform: none; }
    html .gform_wrapper.gravity-theme .gform_validation_errors > h2 .gform-icon {
      display: none; }
  html .gform_wrapper.gravity-theme .gform_validation_errors, html .gform_wrapper.gravity-theme .gform_validation_errors:focus {
    outline: none; }

html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .instruction,
html .gform_wrapper.gravity-theme .gfield_validation_message {
  margin-top: 0.5rem;
  padding: 0.5rem; }

html .gform_wrapper.gravity-theme .gform_validation_errors,
html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .instruction,
html .gform_wrapper.gravity-theme .gfield_validation_message {
  border: 0;
  border-radius: 0.35rem;
  background: #fbf1ef;
  box-shadow: none;
  color: #cc4b37;
  font-weight: normal;
  letter-spacing: inherit; }

html .gform_wrapper.gravity-theme .validation_message,
html .gform_wrapper.gravity-theme .gfield_validation_message,
html .gform_wrapper.gravity-theme .description,
html .gform_wrapper.gravity-theme .gfield_description,
html .gform_wrapper.gravity-theme .instruction {
  font-size: 0.8125rem; }

html .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label,
html .gform_wrapper.gravity-theme .gfield_error label,
html .gform_wrapper.gravity-theme .gfield_error legend {
  color: #cc4b37; }

html .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
  border-color: #cc4b37; }

html .gform_wrapper.gravity-theme [aria-invalid="true"] + label,
html .gform_wrapper.gravity-theme label + [aria-invalid="true"] {
  color: #cc4b37; }

html .gform_wrapper.gravity-theme .gfield select {
  padding-right: 1.5rem; }

html .gform_wrapper.gravity-theme .gfield--type-choice:not(.gf_list_inline) .gchoice + .gchoice {
  margin-top: 0.5rem; }

html .gform_wrapper.gravity-theme .gfield.field_sublabel_above .ginput_complex label {
  padding-top: 0;
  padding-bottom: 0.25rem; }

html .gform_wrapper.gravity-theme .gfield .ginput_complex label {
  padding-top: 0.25rem;
  font-weight: normal;
  font-size: 0.875rem; }

html .gform_wrapper.gravity-theme .gfield .gfield_label {
  margin-bottom: 0.25rem;
  color: #1a1a1a;
  font-weight: normal;
  font-size: 0.875rem; }

html .gform_wrapper.gravity-theme .gfield .ginput_container_consent,
html .gform_wrapper.gravity-theme .gfield .gchoice {
  display: flex;
  align-items: baseline; }
  html .gform_wrapper.gravity-theme .gfield .ginput_container_consent input,
  html .gform_wrapper.gravity-theme .gfield .gchoice input {
    margin: 0 0.5em 0 0; }
    html .gform_wrapper.gravity-theme .gfield .ginput_container_consent input + label,
    html .gform_wrapper.gravity-theme .gfield .gchoice input + label {
      max-width: none;
      margin-right: 0;
      margin-left: 0;
      font-weight: normal;
      font-size: 0.875rem;
      line-height: 1.5; }

html .gform_wrapper.gravity-theme .gform_footer,
html .gform_wrapper.gravity-theme .gform_page_footer {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-end;
  margin-top: 0;
  padding: 0; }
  html .gform_wrapper.gravity-theme .gform_footer .button,
  html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit,
  html .gform_wrapper.gravity-theme .gform_page_footer .button,
  html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit {
    margin-bottom: 0;
    white-space: nowrap; }
    @media print, screen and (min-width: 40em) {
      html .gform_wrapper.gravity-theme .gform_footer .button:first-child.gform_next_button,
      html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit:first-child.gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .button:first-child.gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit:first-child.gform_next_button {
        margin-left: 0.5rem; } }
    html .gform_wrapper.gravity-theme .gform_footer .button:not(.gform_save_link),
    html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit:not(.gform_save_link),
    html .gform_wrapper.gravity-theme .gform_page_footer .button:not(.gform_save_link),
    html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit:not(.gform_save_link) {
      flex: 1 1; }
      @media print, screen and (min-width: 40em) {
        html .gform_wrapper.gravity-theme .gform_footer .button:not(.gform_save_link),
        html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit:not(.gform_save_link),
        html .gform_wrapper.gravity-theme .gform_page_footer .button:not(.gform_save_link),
        html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit:not(.gform_save_link) {
          flex: 0 1 auto; } }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_button,
    html .gform_wrapper.gravity-theme .gform_footer .gform_button#gdpr-submit, html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_footer .gform_next_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .gform_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button#gdpr-submit {
      margin-right: 0; }
    html .gform_wrapper.gravity-theme .gform_footer .button[type="submit"],
    html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit[type="submit"],
    html .gform_wrapper.gravity-theme .gform_page_footer .button[type="submit"],
    html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit[type="submit"] {
      order: 3; }
      @media print, screen and (min-width: 40em) {
        html .gform_wrapper.gravity-theme .gform_footer .button[type="submit"] + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .button[type="submit"] + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer #gdpr-submit[type="submit"] + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer .button[type="submit"] + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .button[type="submit"] + .gform_save_link,
        html .gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit[type="submit"] + .gform_save_link {
          margin-right: 0.5rem; } }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_footer .gform_next_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button#gdpr-submit {
      order: 2; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_next_button + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .gform_next_button.button + .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gform_next_button#gdpr-submit + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_next_button + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .gform_next_button.button + .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button#gdpr-submit + .gform_save_link {
        margin-left: 0; }
    html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button,
    html .gform_wrapper.gravity-theme .gform_footer .gform_previous_button#gdpr-submit,
    html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button,
    html .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button#gdpr-submit {
      order: -1;
      margin-right: auto;
      margin-bottom: 0; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button ~ .gform_next_button, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_next_button, html .gform_wrapper.gravity-theme .gform_footer .gform_previous_button#gdpr-submit ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_next_button,
      html .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button#gdpr-submit ~ .gform_next_button {
        margin-left: 0.5rem; }
      html .gform_wrapper.gravity-theme .gform_footer .button.gform_previous_button ~ .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_save_link, html .gform_wrapper.gravity-theme .gform_footer .gform_previous_button#gdpr-submit ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .button.gform_previous_button ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .gform_previous_button.button ~ .gform_save_link,
      html .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button#gdpr-submit ~ .gform_save_link {
        margin-left: auto; }

html .gform_wrapper.gravity-theme .gform-loader {
  margin-right: 0.5rem; }

.grid-container--full {
  max-width: none;
  padding: 0; }

.grid-container--narrow {
  max-width: 933.33333px; }

.grid-container--slim {
  max-width: 767px; }

.grid-container--wide {
  max-width: none; }

.hny .grid-container .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem; }
  .hny .grid-container .grid-padding-x--small {
    margin-right: -0.75rem;
    margin-left: -0.75rem; }
    .hny .grid-container .grid-padding-x--small > .cell {
      padding-right: 0.75rem;
      padding-left: 0.75rem; }
  @media print, screen and (min-width: 80em) {
    .hny .grid-container .grid-padding-x--large {
      margin-right: -3rem;
      margin-left: -3rem; }
      .hny .grid-container .grid-padding-x--large > .cell {
        padding-right: 3rem;
        padding-left: 3rem; } }

.cell--flex {
  display: flex; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #03502C;
  font-weight: bold;
  letter-spacing: 0.041em;
  text-transform: uppercase; }

h1 .heading__subheading,
h2 .heading__subheading,
h5 .heading__subheading {
  display: block;
  color: #8a8a8a;
  font-style: italic;
  font-weight: normal;
  letter-spacing: 0;
  text-transform: none; }

h1 {
  line-height: 1.1; }
  h1 .heading__subheading {
    font-size: 0.5em; }

h2 .heading__subheading {
  font-size: 0.75em;
  line-height: 1.4; }

h5 {
  color: #46954C;
  letter-spacing: 0.1em; }
  h5 .heading__subheading {
    font-size: 0.895em; }

h6 {
  letter-spacing: 0;
  text-transform: none; }

.heading__preheading {
  display: block;
  margin-bottom: 1rem;
  color: currentColor;
  font-weight: normal;
  font-size: 0.75em;
  text-transform: uppercase; }

h4.heading .heading__preheading {
  margin-bottom: 0;
  font-weight: bold; }

.hny-svg {
  fill: currentColor;
  display: inline-block;
  width: 0.8em;
  height: 1em;
  vertical-align: middle; }
  .hny-svg path {
    fill: currentColor; }

.l-hero {
  overflow: hidden; }

.l-main {
  overflow: hidden; }
  .is-checkout .l-main,
  .content-centered .l-main {
    display: flex;
    flex-grow: 1;
    flex-direction: column; }

.l-container {
  padding-top: 3rem;
  padding-bottom: 3rem; }
  .l-container--large {
    padding-top: 5rem;
    padding-bottom: 5rem; }
    .hero--landing .l-container--large {
      padding-top: 7rem; }
  .l-container--xlarge {
    padding-top: 10rem;
    padding-bottom: 10rem; }

.l-footer {
  margin-top: auto; }
  .l-footer .product-categories {
    z-index: 5;
    position: relative; }
    .l-footer .product-categories .cell:last-child .product-categories__item {
      margin-bottom: -50%; }
    @media print, screen and (min-width: 40em) {
      .l-footer .product-categories .cell:nth-last-child(2) .product-categories__item {
        margin-bottom: -50%; } }
    @media print, screen and (min-width: 64em) {
      .l-footer .product-categories__item {
        margin-bottom: -50%; } }
    .l-footer .product-categories + .site-footer {
      padding-top: 6rem; }

.is-checkout .page-content,
.content-centered .page-content {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  overflow: hidden; }

.content-centered.error404 .page-content {
  justify-content: center; }

.content-centered .page-content .checkout, .content-centered
.page-content .four-oh-four, .content-centered
.page-content .content-blocks {
  flex: 0 1 auto;
  margin-top: auto;
  margin-bottom: auto; }

.pagination__wrapper {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  text-align: center; }

.pagination ul {
  display: flex;
  align-items: center;
  margin: 3rem 0; }
  .pagination ul li {
    display: inline-block;
    line-height: 1;
    vertical-align: middle; }
    .pagination ul li a,
    .pagination ul li span {
      display: block;
      padding: 0 12px;
      font-weight: normal; }
      .pagination ul li a.next .hny-svg, .pagination ul li a.prev .hny-svg,
      .pagination ul li span.next .hny-svg,
      .pagination ul li span.prev .hny-svg {
        fill: #484848; }
      .pagination ul li a.next:focus .hny-svg, .pagination ul li a.next:hover .hny-svg, .pagination ul li a.prev:focus .hny-svg, .pagination ul li a.prev:hover .hny-svg,
      .pagination ul li span.next:focus .hny-svg,
      .pagination ul li span.next:hover .hny-svg,
      .pagination ul li span.prev:focus .hny-svg,
      .pagination ul li span.prev:hover .hny-svg {
        fill: #03502C; }
      .pagination ul li a.current,
      .pagination ul li span.current {
        position: relative;
        color: #fefefe;
        font-weight: bold; }
        .pagination ul li a.current:after,
        .pagination ul li span.current:after {
          display: block;
          z-index: -1;
          position: absolute;
          top: 50%;
          left: 50%;
          width: 100%;
          height: 100%;
          padding-bottom: 100%;
          -webkit-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%);
          border: 2px solid #fefefe;
          border-radius: 0.35rem;
          background: #03502C;
          box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
          content: ''; }
    .pagination ul li.pagination-previous > a, .pagination ul li.pagination-next > a {
      margin: 0;
      font-weight: bold;
      font-size: 0.6875rem;
      text-transform: uppercase; }

.reveal {
  outline: none;
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }
  @media print, screen and (max-width: 39.99875em) {
    .reveal {
      padding-top: 4rem;
      padding-right: 1.5rem;
      padding-bottom: 1.5rem;
      padding-left: 1.5rem; } }
  .reveal .grid-container {
    padding-right: 0;
    padding-left: 0; }
  .reveal .close-button {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    color: #03502C; }
    .reveal .close-button .hny-svg {
      width: 32px;
      height: 32px; }
  .reveal .close-link {
    margin-top: 0.25rem;
    text-align: center; }
    .reveal .close-link button {
      color: #407636;
      text-decoration: underline; }
      .reveal .close-link button:focus, .reveal .close-link button:hover {
        color: #484848; }
  .reveal__cart {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-top: 1.5rem;
    padding: 1.5rem;
    border-radius: 0.35rem;
    background: #efefef; }
    @media print, screen and (min-width: 64em) {
      .reveal__cart {
        margin-top: 0; } }
    .reveal__cart .hny-cart__item {
      margin-right: -1.5rem;
      margin-left: -1.5rem;
      padding-right: 1.5rem;
      padding-left: 1.5rem; }

.slbElement * {
  color: currentColor; }

.slbOverlay {
  background-color: rgba(254, 254, 254, 0.9);
  color: #484848;
  opacity: 1; }

.slbImageWrap:after {
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }

.slbArrow {
  width: 50px;
  height: 50px;
  margin: 0 0.5rem 0 0;
  overflow: hidden;
  border: 2px solid #fefefe;
  border-radius: 0.35rem;
  background: #03502C;
  box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
  opacity: 1;
  transition: all 0.2s ease-in-out; }
  .slbArrow:before {
    position: absolute;
    top: 50%;
    left: 40%;
    width: 40%;
    height: 40%;
    margin: 0;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
    border: 0;
    border-top: 3px solid white;
    border-right: 3px solid white;
    content: ''; }
  .slbArrow.prev {
    margin-right: 0;
    margin-left: 0.5rem; }
    .slbArrow.prev:before {
      -webkit-transform: translate3d(0, -50%, 0) rotate(-135deg);
              transform: translate3d(0, -50%, 0) rotate(-135deg); }
  .slbArrow:hover, .slbArrow:focus {
    border-color: #efefef;
    background: #fefefe;
    opacity: 1; }
    .slbArrow:hover:before, .slbArrow:focus:before {
      border-color: #03502C; }

.slick-slider,
.slick-slider * {
  outline: none !important; }

[data-slick-slider] [data-slick-slide]:not(:first-child) {
  display: none; }

[data-slick-slider].slick-initialized [data-slick-slide] {
  display: block; }

[data-slick-slider].slick-initialized + .loader {
  display: none; }

.slick-arrow {
  position: absolute;
  top: 50%;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  border: none;
  background: transparent;
  text-indent: -9999px;
  cursor: pointer;
  transition: all 0.2s ease-in-out; }
  .slick-arrow, .slick-arrow:focus, .slick-arrow:hover {
    box-shadow: none; }
  .slick-arrow svg {
    fill: #03502C; }
  .slick-arrow.slick-disabled {
    visibility: hidden;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
    opacity: 0; }

.slick-prev {
  left: -0.25rem; }

.slick-next {
  right: -0.25rem; }

.jq-toast-single {
  padding: 0;
  overflow: hidden;
  border-radius: 0.35rem;
  background: none;
  box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08);
  font-size: 0.875rem;
  line-height: 1.5; }
  .jq-toast-single .hny-notice {
    padding: 1.5rem; }
    .jq-toast-single .hny-notice--success {
      background: rgba(70, 149, 76, 0.9); }
    .jq-toast-single .hny-notice--error {
      background: rgba(204, 75, 55, 0.9); }

.hny-message {
  padding: 1.5rem;
  overflow: hidden;
  border-radius: 0.35rem;
  background: rgba(70, 149, 76, 0.9);
  box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08);
  color: #fefefe;
  font-size: 0.875rem;
  line-height: 1.5; }
  .hny-message a, .hny-message a:focus, .hny-message a:hover {
    color: #fefefe;
    text-decoration: underline; }

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

.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
  display: block;
  clear: both; }

.wysiwyg .alignleft {
  margin: 0.5rem 1rem 0.5rem 0;
  float: left; }

.wysiwyg .aligncenter {
  display: block;
  margin: 10px auto; }

.wysiwyg .alignright {
  margin: 0.5rem 0 0.5rem 1rem;
  float: right; }

.wysiwyg .alignnone {
  display: block;
  margin: 0.5rem 0; }

.wysiwyg .gallery {
  overflow: hidden; }
  .wysiwyg .gallery .gallery-item {
    width: 0.166666667%;
    margin: 0 0 2%; }
    .wysiwyg .gallery .gallery-item a {
      display: block; }
      .wysiwyg .gallery .gallery-item a img {
        display: block; }

.wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) {
  margin-left: 0;
  list-style: none; }
  .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) li {
    position: relative;
    padding-left: 1rem; }
    .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) li + li {
      margin-top: 0.5rem; }
    .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) li:before {
      position: absolute;
      top: 0;
      left: 0;
      width: 10px;
      height: 10px;
      margin-top: 0.4em;
      border-radius: 3px;
      background: #407636;
      content: ''; }
  .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) ul {
    margin-top: 0.25rem;
    margin-left: 1rem; }
    .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) ul li {
      padding-left: 1.5rem; }
      .wysiwyg > ul:not(.checklist):not(.gform_fields):not(.gfield_checkbox) ul li:before {
        position: absolute;
        top: 11px;
        left: 0;
        width: 1rem;
        height: 1px;
        margin-top: 0;
        background: #89939B;
        content: ''; }

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

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

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

@media print, screen and (min-width: 40em) {
  .article {
    position: relative;
    min-height: 150px;
    padding-left: calc(150px + 1.5rem); } }

.article__thumbnail {
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .article__thumbnail {
      position: absolute;
      top: 0;
      left: 0;
      width: 150px;
      height: 150px;
      margin: 0; } }

.back-to-top {
  display: inline-block;
  visibility: hidden;
  z-index: 1999;
  position: fixed;
  right: 0.5rem;
  bottom: 0.5rem;
  width: 40px;
  height: 40px;
  overflow: hidden;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  border: 2px solid #fefefe;
  border-radius: 0.35rem;
  background: #03502C;
  box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
  color: #fefefe;
  line-height: 45px;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  transition: all 0.2s ease-in-out; }
  @media print, screen and (min-width: 64em) {
    .back-to-top {
      right: 1rem;
      bottom: 1rem;
      width: 50px;
      height: 50px; } }
  .back-to-top:hover, .back-to-top:focus {
    border-color: #efefef;
    background: #fefefe; }
    .back-to-top:hover .hny-svg, .back-to-top:focus .hny-svg {
      fill: #03502C; }
  .back-to-top .hny-svg {
    fill: #fefefe;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    margin: -14px 0 0 -13px; }
  .back-to-top.is-visible {
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1; }

.brochures__item {
  display: block;
  position: relative;
  margin-bottom: 1.5rem;
  border: 1px solid #efefef;
  background: #fefefe; }
  .brochures__item figure {
    padding-bottom: 150%; }
  .brochures__item > span {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 1rem; }
    .brochures__item > span > span {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0.5rem 1rem;
      background: rgba(26, 26, 26, 0.8);
      color: #fefefe;
      font-weight: bold;
      font-size: 0.75rem;
      text-transform: uppercase; }
      .brochures__item > span > span .hny-svg {
        width: 1.25em;
        height: 1.25em;
        margin-right: 0.5rem; }

.calculators {
  position: relative; }
  .calculators__units {
    display: inline-flex;
    margin-top: 0.75rem;
    overflow: hidden;
    border: 2px solid #fefefe;
    border-radius: 0.35rem;
    box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08); }
    @media print, screen and (min-width: 40em) {
      .calculators__units {
        position: absolute;
        top: 0;
        right: 0;
        margin: 0; } }
    .calculators__units .button,
    .calculators__units #gdpr-submit {
      border: 0;
      box-shadow: none; }
      @media print, screen and (max-width: 79.99875em) {
        .calculators__units .button,
        .calculators__units #gdpr-submit {
          padding: 0.75em 1em;
          font-size: 0.625rem; } }
      .calculators__units .button.disabled,
      .calculators__units .disabled#gdpr-submit {
        cursor: pointer; }
      .calculators__units .button:first-child,
      .calculators__units #gdpr-submit:first-child {
        border-right: 0;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
      .calculators__units .button:nth-child(2),
      .calculators__units #gdpr-submit:nth-child(2) {
        border-left: 0;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
  .calculators__notice p {
    font-size: 0.875rem; }
    .calculators__notice p + p {
      margin-top: 0.75rem; }
  .calculators__options {
    display: flex;
    flex-flow: row wrap;
    margin: 0.5rem 0 0; }
    .calculators__options label {
      margin-right: 1rem; }
      .calculators__options label:last-child {
        margin-right: 0; }
  .calculators p,
  .calculators .heading {
    margin-bottom: 0; }
  .calculators__utility {
    margin-top: 1.5rem; }

.calculator {
  margin-top: 1.5rem; }
  .calculator + * {
    margin-top: 1.5rem; }
  .calculator em {
    font-size: 0.75rem; }
  .calculator__form {
    margin-top: 0.5rem; }
    .calculator__form .button,
    .calculator__form #gdpr-submit {
      margin-top: 0.5rem; }
      @media print, screen and (min-width: 40em) {
        .calculator__form .button,
        .calculator__form #gdpr-submit {
          margin-top: 0; } }
    @media print, screen and (max-width: 39.99875em) {
      .calculator__form {
        padding-bottom: 0 !important; } }
    @media print, screen and (min-width: 40em) {
      .calculator__form {
        display: flex;
        flex-flow: row nowrap; } }
    .calculator__form > div {
      display: flex;
      flex-flow: row nowrap; }
    .calculator__form label {
      position: relative;
      flex: 1 1;
      justify-content: center;
      margin-right: 0.5rem;
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        .calculator__form label {
          display: flex; } }
      .calculator__form label input,
      .calculator__form label select {
        flex: 1 0 auto;
        height: auto;
        margin: 0; }
      .calculator__form label span {
        display: block;
        width: 100%;
        padding: 0.25rem 0.5rem 0;
        font-size: 0.75rem;
        text-align: center; }
        @media print, screen and (min-width: 40em) {
          .calculator__form label span {
            position: absolute;
            top: 100%;
            left: 0; } }
  .calculator__label--has-error input {
    border-color: #cc4b37; }
  .calculator__totals {
    display: none;
    margin-top: 1.5rem; }
  .calculator__placeholder {
    display: inline-block;
    min-width: 100px;
    height: 35px;
    padding: 0.25rem;
    border-bottom: 1px solid #484848;
    font-weight: bold;
    line-height: 35px;
    text-align: center; }
    .calculator__placeholder + .calculator__placeholder {
      margin-left: 0.5rem; }
  .calculator__error {
    color: #cc4b37; }
  .calculator button + button {
    margin-left: 0.5rem; }

.card {
  margin-bottom: 1.5rem; }
  .card--box {
    padding: 1.5rem;
    border-radius: 0.35rem;
    background: #fefefe;
    box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08); }
    @media print, screen and (min-width: 48.875em) {
      .card--box {
        padding: 3rem; } }
    .card--box [type='submit'] {
      width: 100%; }
  .card--product {
    display: flex;
    position: relative;
    flex: 1 0 auto;
    flex-direction: column;
    width: calc(100% + 1.5rem);
    max-width: calc(100% + 1.5rem);
    margin-top: -0.75rem;
    margin-right: -0.75rem;
    margin-left: -0.75rem;
    padding: 0.75rem;
    border: 1px solid transparent;
    border-radius: 0.35rem;
    text-align: center; }
    .card--product:hover {
      border-color: #89939B;
      background: rgba(254, 254, 254, 0.7);
      color: #407636; }
  .card .heading {
    margin-bottom: 0;
    color: currentColor; }
  .card__content p {
    margin: 0;
    color: #89939B;
    font-style: italic;
    font-weight: normal;
    font-size: 0.875rem; }
  .card__price {
    margin-top: auto;
    padding-top: 0.5rem; }
    @media print, screen and (max-width: 63.99875em) {
      .card__price {
        font-size: 0.875rem; } }
  .card__photo {
    margin-bottom: 1rem;
    padding: 0.5rem;
    box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08); }
    .card__photo > div {
      position: relative; }
    .card__photo figure {
      background-color: #fefefe; }
      .card__photo figure + figure {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
        .card__photo figure + figure:before {
          content: none; }
      .card__photo figure:before {
        display: block;
        width: 100%;
        height: 0;
        padding-bottom: 100%;
        content: ''; }

.career {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem;
  border: 2px solid rgba(137, 147, 155, 0.3);
  border-radius: 0.35rem;
  background: rgba(254, 254, 254, 0.5); }
  .career + .career {
    margin-top: 0.5rem; }
  .career__title {
    flex: 1;
    margin-bottom: 0;
    padding-right: 1.5rem; }
    .career__title span {
      display: block;
      font-size: 0.75rem; }
  @media print, screen and (max-width: 63.99875em) {
    .career__button .button,
    .career__button #gdpr-submit {
      padding: 0.5em; }
      .career__button .button span, .career__button #gdpr-submit span {
        display: none; }
        .career__button .button span + .hny-svg, .career__button #gdpr-submit span + .hny-svg {
          margin: 0; } }
  @media print, screen and (min-width: 48.875em) {
    .career__button {
      padding-left: 0.75rem; } }
  .career__button .button,
  .career__button #gdpr-submit {
    box-shadow: none; }
    @media print, screen and (min-width: 48.875em) {
      .career__button .button,
      .career__button #gdpr-submit {
        padding: 0.75em 1.5em;
        font-size: 0.6875rem; } }

.careers__heading {
  margin-bottom: 0.5rem;
  color: inherit; }

.careers__block {
  color: #03502C; }
  .careers__block + .careers__block {
    margin-top: 1.5rem; }
  .careers__block a {
    color: #03502C; }
    .careers__block a:focus, .careers__block a:hover {
      color: #484848; }

.checklist {
  margin: 0;
  list-style: none; }
  .checklist--two-column {
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2; }
    .checklist--two-column li {
      -webkit-column-break-inside: avoid;
      -moz-column-break-inside: avoid;
           break-inside: avoid;
      page-break-inside: avoid;
      will-change: transform; }
  .checklist li {
    position: relative;
    padding-left: calc(20px + 0.5rem); }
    .checklist li + li {
      margin-top: 0.75rem; }
    .checklist li .hny-svg {
      fill: #03502C;
      position: absolute;
      top: 0;
      left: 0;
      width: 20px;
      height: 20px; }
      .checklist li .hny-svg--warning {
        fill: #ffae00; }

@media print, screen and (min-width: 48.875em) {
  .checkout {
    position: relative;
    flex: 1 0 auto; } }

@media print, screen and (min-width: 48.875em) {
  .checkout__form {
    padding-right: 5rem; } }

.checkout__form button[type='submit'] {
  justify-content: center;
  width: 100%; }

.checkout__box {
  position: relative;
  width: 100%; }
  @media print, screen and (min-width: 48.875em) {
    .checkout__box {
      display: flex;
      position: static;
      flex: 1 0 auto;
      flex-direction: column;
      max-width: 100%; }
      .checkout__box > div {
        flex: 1 0 auto;
        width: 100%;
        max-width: 100%; } }
  @media print, screen and (min-width: 48.875em) {
    .checkout__box > div {
      padding-left: 1.5rem; } }
  @media print, screen and (min-width: 64em) {
    .checkout__box > div {
      padding-left: 5rem; } }
  .checkout__box:after {
    z-index: -1;
    position: absolute;
    top: 0;
    right: -1.5rem;
    left: -1.5rem;
    height: 100%;
    background: #fefefe;
    content: ''; }
    @media print, screen and (min-width: 48.875em) {
      .checkout__box:after {
        right: auto;
        left: 50%;
        width: 50vw; } }

.checkout .site-search {
  margin-bottom: 0.5rem; }

.colophon {
  z-index: 3;
  position: relative;
  text-align: center;
  opacity: 0.7; }
  .colophon p {
    margin-bottom: 0; }
  .colophon a {
    display: inline-block;
    padding: 0.25rem; }
    @media print, screen and (min-width: 64em) {
      .colophon a {
        display: block;
        padding: 0; } }
  @media print, screen and (min-width: 48.875em) {
    .colophon {
      display: flex;
      align-items: center;
      justify-content: space-between;
      text-align: inherit; } }
  @media print, screen and (min-width: 64em) {
    .colophon__legalese {
      display: flex;
      flex-flow: row nowrap; } }
  @media print, screen and (min-width: 64em) {
    .colophon .legal-nav {
      margin-left: 0.5rem; } }
  .colophon .legal-nav__items {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    margin: 0;
    list-style: none; }
    @media print, screen and (min-width: 48.875em) {
      .colophon .legal-nav__items {
        justify-content: flex-start; } }
  .colophon .legal-nav__item + .legal-nav__item {
    margin-left: 0.5rem; }

.contact-list {
  margin: 0;
  list-style: none; }
  .contact-list--centered .contact-list__item {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0; }
    .contact-list--centered .contact-list__item > .hny-svg {
      position: static;
      margin-right: 1rem; }
  .contact-list a[data-scroll-target] {
    display: block;
    margin-top: 0.25rem;
    font-weight: normal;
    text-transform: uppercase; }
  .contact-list p {
    margin-bottom: 0; }
  .contact-list__item {
    position: relative;
    padding-left: calc(2rem + 1rem); }

@media print, screen and (min-width: 48.875em) and (max-width: 79.99875em) {
  .l-header .contact-list__item {
    padding-left: calc(1rem + 0.5rem); } }
    .contact-list__item--no-icon {
      padding-left: 0; }
    .contact-list__item + li {
      margin-top: 0.5rem; }
    .contact-list__item > .hny-svg {
      position: absolute;
      top: 3px;
      left: 0;
      width: 2rem;
      height: 2rem;
      color: currentColor; }

@media print, screen and (min-width: 48.875em) and (max-width: 79.99875em) {
  .l-header .contact-list__item > .hny-svg {
    width: 1rem;
    height: 1rem; } }
  .contact-list ul {
    display: table;
    width: 100%;
    margin: 0;
    list-style: none; }
    .contact-list ul > li {
      display: table-row; }
      .contact-list ul > li > span,
      .contact-list ul > li > strong {
        display: table-cell;
        vertical-align: middle; }
      .contact-list ul > li > strong {
        padding-left: 0.75rem;
        font-size: 1.125em;
        text-align: right;
        text-transform: uppercase; }
  .contact-list--phone-number > li a {
    font-size: 1.5em; }
  .contact-list--phone-numbers ul li strong {
    text-align: left; }
  .contact-list--phone-numbers ul li:first-child a {
    color: #fefefe;
    font-size: 1.25em; }
  .contact-list + .contact-list {
    margin-top: 1.5rem; }

.content-block:not(.content-block--no-spacing):not(.content-block--background) + .content-block:not(.content-block--no-spacing):not(.content-block--background) .l-container {
  padding-top: 0; }

.content-block--no-spacing .l-container {
  padding-top: 0;
  padding-bottom: 0; }

.content-block--background--white {
  background-color: #fefefe; }

.content-block--centered {
  text-align: center; }

.content-block__container {
  position: relative; }

.content-block__wrapper {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  max-width: 100%; }

.content-block__content {
  flex-shrink: 0; }

.content-block__layout--two-column .cell + .cell .content-block__column, .content-block__layout--three-column .cell + .cell .content-block__column, .content-block__layout--four-column .cell + .cell .content-block__column, .content-block__layout--five-column .cell + .cell .content-block__column {
  margin-top: 1.5rem; }
  @media print, screen and (min-width: 48.875em) {
    .content-block__layout--two-column .cell + .cell .content-block__column, .content-block__layout--three-column .cell + .cell .content-block__column, .content-block__layout--four-column .cell + .cell .content-block__column, .content-block__layout--five-column .cell + .cell .content-block__column {
      margin-top: 0; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--three-column .grid-x, .content-block__layout--four-column .grid-x, .content-block__layout--five-column .grid-x {
    justify-content: center; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--two-column .cell:nth-child(2n+3), .content-block__layout--two-column .cell:nth-child(2n+4) {
    margin-top: 1.5rem; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--three-column .cell:nth-child(6n+4), .content-block__layout--three-column .cell:nth-child(6n+5), .content-block__layout--three-column .cell:nth-child(6n+6) {
    margin-top: 1.5rem; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--four-column .cell:nth-child(8n+5), .content-block__layout--four-column .cell:nth-child(8n+6), .content-block__layout--four-column .cell:nth-child(8n+7), .content-block__layout--four-column .cell:nth-child(8n+8) {
    margin-top: 1.5rem; } }

@media print, screen and (min-width: 48.875em) {
  .content-block__layout--five-column .cell:nth-child(10n+6), .content-block__layout--five-column .cell:nth-child(10n+7), .content-block__layout--five-column .cell:nth-child(10n+8), .content-block__layout--five-column .cell:nth-child(10n+9), .content-block__layout--five-column .cell:nth-child(10n+10) {
    margin-top: 1.5rem; } }

.content-block__header {
  max-width: 1000px;
  margin-right: auto;
  margin-bottom: 1.5rem;
  margin-left: auto; }
  @media print, screen and (min-width: 64em) {
    .content-block__header {
      margin-bottom: 3rem; } }
  .content-block__header .heading {
    margin-bottom: 0; }
  .content-block__header--centered {
    text-align: center; }

@media screen and (min-width: 103.125em) {
  .content-block--centered .content-block__layout--two-column .content-block__column {
    max-width: 75%;
    margin: 0 auto; } }

.content-block__module:not(.content-block__module--heading) + .content-block__module {
  margin-top: 1.25rem; }

.content-block__module {
  flex-shrink: 0; }

.content-block__column {
  display: flex;
  flex: 0 0 100%;
  flex-direction: column;
  max-width: 100%; }

.content-block__modules {
  -ms-flex-negative: 0;
  display: flex;
  flex-grow: 1;
  flex-shrink: 0;
  flex-direction: column; }
  .content-block__modules .content-block__module:last-child.content-block__module--price, .content-block__modules .content-block__module:last-child.content-block__module--button {
    margin-top: auto; }

.content-block img.tractor-truck {
  margin-bottom: -3rem; }
  @media screen and (min-width: 103.125em) {
    .content-block img.tractor-truck {
      width: 125%;
      max-width: none;
      margin-bottom: -6rem;
      margin-left: -25%; } }

@media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
  .is-recycling-centre-landing .content-block:first-child .content-block__layout--three-column .cell:first-child {
    flex: 0 0 100%;
    max-width: 100%; } }

@media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
  .is-recycling-centre-landing .content-block:first-child .content-block__layout--three-column .cell:nth-child(2), .is-recycling-centre-landing .content-block:first-child .content-block__layout--three-column .cell:nth-child(3) {
    flex: 0 0 50%;
    max-width: 50%; } }

.faq-list {
  position: relative; }
  .faq-list__wrapper {
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .faq-list__wrapper {
        display: flex;
        flex-flow: row nowrap; } }
  .faq-list__listing {
    padding-bottom: 3rem; }
    @media print, screen and (min-width: 40em) {
      .faq-list__listing {
        flex: 1 1; } }
  @media print, screen and (min-width: 40em) {
    .faq-list__group__wrapper {
      padding-right: 2.1875rem; } }
  @media print, screen and (min-width: 64em) {
    .faq-list__group__wrapper {
      padding-right: 4.375rem; } }
  .faq-list__group + .faq-list__group .faq-list__group__inner {
    margin-top: 3rem; }
  .faq-list__sidebar {
    display: none; }
    @media print, screen and (min-width: 40em) {
      .faq-list__sidebar {
        display: block;
        flex: 0 1 auto; } }
    .faq-list__sidebar__inner > div {
      overflow: hidden; }
    .faq-list__sidebar ul {
      margin: 0;
      list-style: none; }
    .faq-list__sidebar li + li {
      margin-top: 0.5rem; }
    .faq-list__sidebar li > a {
      display: block;
      position: relative;
      padding: 0.25rem 0 0 1.5em;
      font-size: 1.125rem;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      white-space: nowrap; }
      .faq-list__sidebar li > a:before {
        position: absolute;
        top: 50%;
        left: 0;
        width: 0.75em;
        height: 0.75em;
        margin-top: -0.3em;
        background: currentColor;
        content: ''; }
      @media print, screen and (min-width: 40em) and (max-width: 48.87375em) {
        .faq-list__sidebar li > a {
          font-size: 0.875rem; } }
    .faq-list__sidebar li.is-active > a {
      color: #46954C; }
  .faq-list__items {
    margin: 0;
    list-style: none; }
    .faq-list__items li {
      position: relative;
      padding: 2rem 2rem 2rem 5rem;
      overflow: hidden;
      border-radius: 0.35rem;
      background: rgba(254, 254, 254, 0.7); }
      @media print, screen and (max-width: 39.99875em) {
        .faq-list__items li {
          font-size: 0.875rem; } }
      @media print, screen and (min-width: 40em) {
        .faq-list__items li {
          padding-right: 3rem; } }
      .faq-list__items li:before {
        z-index: 5;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1.5rem;
        background-image: linear-gradient(0deg, rgba(254, 254, 254, 0), rgba(254, 254, 254, 0.5) 100%);
        content: ''; }
      .faq-list__items li + li {
        margin-top: 1.5rem; }
    .faq-list__items p:last-child {
      margin-bottom: 0; }
  .faq-list__question {
    position: relative;
    margin-bottom: 2rem; }
    .faq-list__question:before {
      z-index: 1;
      position: absolute;
      top: -2rem;
      left: -5rem;
      width: 6rem;
      height: 10rem;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-transform-origin: top right;
              transform-origin: top right;
      background: #46954C;
      content: ''; }
    .faq-list__question:after {
      display: flex;
      z-index: 2;
      position: absolute;
      top: -2rem;
      left: -5rem;
      align-items: center;
      justify-content: center;
      width: 4rem;
      height: 4rem;
      content: 'Q';
      color: #fefefe;
      text-shadow: 0 0 10px rgba(26, 26, 26, 0.1); }
  .faq-list__question:after, .faq-list__answer:after {
    font-weight: bold;
    font-size: 1.5rem; }
  .faq-list__answer {
    position: relative; }
    .faq-list__answer:after {
      display: flex;
      z-index: 2;
      position: absolute;
      top: 0;
      left: -5rem;
      align-items: center;
      justify-content: center;
      width: 4rem;
      content: 'A';
      color: #46954C; }

/*
  Shuffle needs either relative or absolute positioning on the container
  It will set it for you, but it'll cause another style recalculation and layout.
  AKA worse performance - so just set it here
 */
.gallery__grid {
  position: relative;
  max-width: calc(100% + 0.75rem); }
  @media print, screen and (min-width: 40em) {
    .gallery__grid .medium-3 {
      width: calc(25% - 0.1875rem); } }

.gallery__filters {
  display: flex;
  flex-flow: row wrap; }
  .gallery__filters .button,
  .gallery__filters #gdpr-submit {
    margin-right: 0.35rem;
    margin-bottom: 0.35rem; }

.gallery__sizer {
  visibility: hidden;
  position: absolute;
  opacity: 0; }

.gallery__item > div {
  position: relative;
  width: 100%; }

.gallery__item.square > div {
  padding-bottom: 100%; }

@media print, screen and (min-width: 40em) {
  .gallery__item.square.medium-3 > div {
    padding-bottom: calc(100% + 0.9375rem); } }

.gallery__item.half > div {
  padding-bottom: 50%; }

.gallery__link {
  display: block;
  position: absolute;
  top: 2rem;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  border-radius: 0.35rem;
  background-color: rgba(239, 239, 239, 0.5); }
  .gallery__link .loader {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    color: #fefefe;
    opacity: 0.5;
    transition: all 0.2s ease-in-out; }

.gallery figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.gallery__content {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 33.33333%;
  max-width: 66.66667%;
  padding: 1.5rem 1.5rem 0.75rem;
  border-top-left-radius: 0.35rem;
  background: #fefefe; }
  .gallery__content .heading {
    margin-bottom: 0;
    color: #89939B;
    text-transform: none; }
    .gallery__content .heading__subheading {
      display: block;
      margin-top: 0.25rem;
      color: #03502C;
      font-style: italic;
      font-weight: normal;
      font-size: 0.75em;
      letter-spacing: 0; }

@media print, screen and (min-width: 64em) {
  .gdpr__grid {
    display: flex;
    flex-flow: row wrap;
    margin-right: -0.5rem;
    margin-left: -0.5rem; } }

.gdpr__box + .gdpr__box {
  margin-top: 1rem; }

@media only screen and (min-width: 40.0625em) {
  .gdpr__box {
    display: flex;
    flex: 1 1;
    padding: 0 0.5rem; }
    .gdpr__box + .gdpr__box {
      margin-top: 0; } }

.gdpr__box > a {
  display: flex;
  position: relative;
  flex: 1 1;
  flex-flow: column wrap;
  padding: 2rem;
  border: 2px solid rgba(137, 147, 155, 0.3);
  border-radius: 0.35rem;
  background: rgba(254, 254, 254, 0.5);
  color: #484848;
  font-weight: normal;
  font-size: 0.875rem;
  text-align: center; }
  .gdpr__box > a svg {
    fill: #03502C;
    margin: 0 auto 1rem; }
  .gdpr__box > a:focus, .gdpr__box > a:hover {
    background: #fefefe;
    color: #03502C; }

#cookie-law-info-bar {
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }

.gdpr-framework-privacy-tools {
  text-align: center; }
  .gdpr-framework-privacy-tools h2,
  .gdpr-framework-privacy-tools h3 {
    font-size: 2rem; }
  .gdpr-framework-privacy-tools .gdpr-notice + h3 {
    display: none; }
    .gdpr-framework-privacy-tools .gdpr-notice + h3 + form {
      display: none; }

.gdpr-framework-privacy-tools .button,
.gdpr-framework-privacy-tools #gdpr-submit,
#gdpr-submit {
  -webkit-appearance: none;
  display: inline-block;
  margin: 0;
  padding: 1.25em 2.5em;
  -webkit-transform: none;
          transform: none;
  border: 1px solid transparent;
  border: 3px solid #fefefe;
  border-radius: 0.35rem;
  background: none;
  font-size: 0.895rem;
  line-height: 1;
  font-family: inherit;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  transition: background-color 0.25s ease-out, color 0.25s ease-out; }
  [data-whatinput='mouse'] .gdpr-framework-privacy-tools .button,
  [data-whatinput='mouse'] .gdpr-framework-privacy-tools #gdpr-submit, [data-whatinput='mouse']
  #gdpr-submit {
    outline: 0; }
  .gdpr-framework-privacy-tools .button,
  .gdpr-framework-privacy-tools #gdpr-submit, .gdpr-framework-privacy-tools .disabled.button,
  .gdpr-framework-privacy-tools .disabled#gdpr-submit, .gdpr-framework-privacy-tools .button[disabled],
  .gdpr-framework-privacy-tools #gdpr-submit[disabled], .gdpr-framework-privacy-tools .disabled.button:hover,
  .gdpr-framework-privacy-tools .disabled#gdpr-submit:hover, .gdpr-framework-privacy-tools .button[disabled]:hover,
  .gdpr-framework-privacy-tools #gdpr-submit[disabled]:hover, .gdpr-framework-privacy-tools .disabled.button:focus,
  .gdpr-framework-privacy-tools .disabled#gdpr-submit:focus, .gdpr-framework-privacy-tools .button[disabled]:focus,
  .gdpr-framework-privacy-tools #gdpr-submit[disabled]:focus,
  #gdpr-submit,
  #gdpr-submit.disabled,
  #gdpr-submit[disabled],
  #gdpr-submit.disabled:hover,
  #gdpr-submit[disabled]:hover,
  #gdpr-submit.disabled:focus,
  #gdpr-submit[disabled]:focus {
    background-color: #03502C;
    color: #fefefe; }
  .gdpr-framework-privacy-tools .button:hover,
  .gdpr-framework-privacy-tools #gdpr-submit:hover, .gdpr-framework-privacy-tools .button:focus,
  .gdpr-framework-privacy-tools #gdpr-submit:focus,
  #gdpr-submit:hover,
  #gdpr-submit:focus {
    background-color: #023c21;
    color: #fefefe; }
  .gdpr-framework-privacy-tools .button:focus,
  .gdpr-framework-privacy-tools #gdpr-submit:focus, .gdpr-framework-privacy-tools .button:hover,
  .gdpr-framework-privacy-tools #gdpr-submit:hover,
  #gdpr-submit:focus,
  #gdpr-submit:hover {
    -webkit-transform: none;
            transform: none;
    background: #fefefe;
    color: #1a1a1a; }
  .gdpr-framework-privacy-tools .button:before,
  .gdpr-framework-privacy-tools #gdpr-submit:before, .gdpr-framework-privacy-tools .button:after,
  .gdpr-framework-privacy-tools #gdpr-submit:after,
  #gdpr-submit:before,
  #gdpr-submit:after {
    content: none; }

.hny .cookielawinfo-row-cat-table {
  width: 100%;
  margin-left: 0;
  border: 0; }
  .hny .cookielawinfo-row-cat-table tbody {
    border: 0; }
  .hny .cookielawinfo-row-cat-table thead {
    background: #03502C;
    color: #fefefe; }
  .hny .cookielawinfo-row-cat-table th,
  .hny .cookielawinfo-row-cat-table td {
    border-color: #fefefe; }

.global-alert {
  z-index: 99998;
  position: relative;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background: #cc4b37;
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
  color: #fefefe; }
  .global-alert__content {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    font-size: 0.75rem; }
    @media screen and (min-width: 40.625em) {
      .global-alert__content {
        font-size: 0.875rem; } }
  .global-alert__utility {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    padding-left: 2rem;
    white-space: nowrap; }
    @media screen and (max-width: 40.625em) {
      .global-alert__utility .button.tiny,
      .global-alert__utility .tiny#gdpr-submit {
        font-size: 0.625rem; } }

.header-utility {
  color: rgba(254, 254, 254, 0.75); }
  .header-utility .hny-svg {
    width: 1.5em;
    height: 1.5em; }
    .header-utility .hny-svg--facebook {
      width: 2em;
      height: 2em; }
  .header-utility button,
  .header-utility a {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: currentColor;
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
    text-transform: uppercase; }
    @media print, screen and (min-width: 48.875em) {
      .header-utility button,
      .header-utility a {
        font-size: 0.625rem; } }
    @media print, screen and (min-width: 64em) {
      .header-utility button,
      .header-utility a {
        padding-top: 0.895rem;
        padding-bottom: 0.895rem;
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 80em) {
      .header-utility button,
      .header-utility a {
        letter-spacing: 0.125em; } }
    .header-utility button:hover,
    .header-utility a:hover {
      color: #fefefe; }
  .header-utility button.navburger {
    padding: 0.5rem;
    border-radius: 0.35rem;
    background: #46954C; }
  @media print, screen and (min-width: 64em) {
    .header-utility__wrapper {
      padding-left: 275px; } }
  @media screen and (min-width: 103.125em) {
    .header-utility__wrapper {
      padding-left: 350px; } }
  .header-utility__items {
    display: flex;
    position: relative;
    flex-flow: row wrap;
    margin: 0;
    list-style: none; }
    @media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
      .header-utility__items {
        justify-content: flex-end; } }
    @media print, screen and (min-width: 80em) {
      .header-utility__items {
        padding-left: 4rem; } }
  .header-utility__item {
    display: flex;
    flex: 0 1 auto;
    align-items: center; }
    .header-utility__item--active {
      color: #fefefe; }
    @media print, screen and (max-width: 48.87375em) {
      .header-utility__item:not(.header-utility__item--divider) {
        display: none; } }
    .header-utility__item + .header-utility__item:not(.header-utility__item--divider) {
      margin-left: 2rem; }
      @media print, screen and (min-width: 48.875em) {
        .header-utility__item + .header-utility__item:not(.header-utility__item--divider) {
          margin-left: 0.895rem; } }
      @media print, screen and (min-width: 80em) {
        .header-utility__item + .header-utility__item:not(.header-utility__item--divider) {
          margin-left: 1rem; } }

@media print, screen and (min-width: 48.875em) and (max-width: 79.99875em) {
  .header-utility__item--home {
    display: none; } }
    @media print, screen and (min-width: 64em) {
      .header-utility__item--divider {
        margin-left: auto; } }
    .header-utility__item--divider ~ .header-utility__item {
      display: flex; }
      @media screen and (max-width: 26.25em) {
        .header-utility__item--divider ~ .header-utility__item.header-utility__item--contact {
          display: none; } }
      @media print, screen and (max-width: 48.87375em) {
        .header-utility__item--divider ~ .header-utility__item.header-utility__item--facebook {
          display: none; } }
      .header-utility__item--divider ~ .header-utility__item:not(.header-utility__item--divider) {
        margin-left: 1rem; }
    @media print, screen and (min-width: 48.875em) {
      .header-utility__item--divider + .header-utility__item {
        display: none; } }
    @media print, screen and (min-width: 48.875em) {
      .header-utility__item:last-child {
        display: none; } }
  .header-utility .site-search {
    z-index: 1000;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 0;
    margin-right: -1.25rem;
    padding: 1.25rem;
    overflow: visible;
    border-radius: 0.35rem;
    background: #fefefe;
    box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
    opacity: 0;
    pointer-events: none; }
    .header-utility .site-search__input {
      min-width: 185px; }
    .is-search-open .header-utility .site-search {
      opacity: 1;
      pointer-events: auto; }
    .header-utility .site-search:before {
      position: absolute;
      top: 0;
      right: 4.5rem;
      width: 0;
      height: 0;
      margin-top: -8px;
      border-width: 0 8px 8px 8px;
      border-style: solid;
      border-color: transparent transparent #fefefe transparent;
      content: ''; }
      @media print, screen and (min-width: 48.875em) {
        .header-utility .site-search:before {
          right: 1.25rem; } }
    .is-search-open .header-utility .site-search {
      visibility: visible;
      opacity: 1; }
    .header-utility .site-search form {
      flex: 0 0 100%;
      width: 100%;
      max-width: 100%;
      margin-top: -1px; }

.hero {
  position: relative;
  background-color: #1a1a1a;
  color: #fefefe;
  text-align: center;
  text-shadow: 0 0 15px rgba(26, 26, 26, 0.9); }
  .hero__content {
    z-index: 1;
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .hero__content {
        padding-right: calc(var(--swiper-navigation-size) / 44 * 27 + 10px);
        padding-left: calc(var(--swiper-navigation-size) / 44 * 27 + 10px); } }
    .hero--landing .hero__content {
      padding-top: 6rem;
      padding-bottom: 4rem; }
      @media screen and (min-width: 103.125em) {
        .hero--landing .hero__content {
          padding-top: 8rem;
          padding-bottom: 6rem; } }
  .hero--home {
    padding-top: 35%;
    padding-bottom: 45%; }
    @media print, screen and (min-width: 40em) {
      .hero--home {
        padding-top: 25%;
        padding-bottom: 30%; } }
    @media print, screen and (min-width: 64em) {
      .hero--home {
        padding-top: 15rem;
        padding-bottom: 20rem; } }
  .hero--landing {
    padding-bottom: 0; }
    .hero--landing .heading {
      margin-bottom: 0; }
  .hero .swiper-button-next, .hero .swiper-button-prev {
    color: #fefefe; }
    @media print, screen and (max-width: 39.99875em) {
      .hero .swiper-button-next, .hero .swiper-button-prev {
        visibility: hidden;
        opacity: 0; } }
  .hero__slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .hero__slider .swiper-container {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .hero__slider .swiper-container:not(.swiper-container-initialized) .swiper-slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        opacity: 0; }
        .hero__slider .swiper-container:not(.swiper-container-initialized) .swiper-slide:first-child {
          opacity: 1; }
    .hero__slider .swiper-container-initialized .swiper-slide:not(.swiper-slide-active) figure {
      -webkit-transform: scale(1.2);
              transform: scale(1.2); }
  .hero + .content-blocks {
    z-index: 100;
    position: relative; }
    .hero + .content-blocks > .content-block:first-child .product-categories {
      margin-top: -3rem; }
      .hero + .content-blocks > .content-block:first-child .product-categories .cell:first-child .product-categories__item, .hero + .content-blocks > .content-block:first-child .product-categories .cell:nth-child(2) .product-categories__item {
        margin-top: -50%; }
      @media print, screen and (min-width: 40em) {
        .hero + .content-blocks > .content-block:first-child .product-categories .cell:nth-child(3) .product-categories__item {
          margin-top: -50%; } }
      @media print, screen and (min-width: 64em) {
        .hero + .content-blocks > .content-block:first-child .product-categories__item {
          margin-top: -50%; } }
  .hero figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .hero h1 {
    color: #fefefe; }
    .hero h1 > span {
      color: currentColor; }

.reveal .hny-cart {
  font-size: 0.875rem; }

.hny-cart__items {
  margin: 0;
  list-style: none; }

.hny-cart__item + .hny-cart__item {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid #efefef; }
  .hny-cart__item + .hny-cart__item--total {
    padding-top: 1rem; }
  .reveal .hny-cart__item + .hny-cart__item {
    border-top-color: #d7d7d7; }

.hny-cart__item .button,
.hny-cart__item #gdpr-submit {
  justify-content: center;
  width: 100%; }

.hny-cart__item--product .hny-cart__item-inner {
  display: flex;
  align-items: center; }

.hny-cart__item--total {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.hny-cart__item--empty {
  text-align: center; }

.hny-cart__total {
  font-weight: bold;
  font-size: 1.25em; }

.hny-cart__item-remove {
  margin-right: 0.75rem; }
  .hny-cart__item-remove .hny-svg {
    fill: #fefefe;
    width: 1em;
    height: 1em;
    padding: 0.125em;
    border-radius: 50%;
    background: #cc4b37; }

.hny-cart__item-title {
  display: block;
  font-weight: bold;
  line-height: 1.2; }
  .hny-cart__item-title a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }

.hny-cart__item-details {
  padding-right: 0.75rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.hny-cart__item-quantity, .hny-cart__item-price {
  color: #89939B;
  font-size: 0.75rem; }

.hny-cart__item-photo {
  flex: 0 0 50px;
  max-width: 50px;
  margin-right: 0.75rem;
  overflow: hidden;
  border: 1px solid #fefefe;
  border-radius: 0.35rem;
  box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08); }
  .hny-cart__item-photo img {
    width: 50px;
    height: 50px; }

.hny-cart__item-total {
  margin-left: auto; }

.hny-cart__item-utility {
  display: flex;
  align-items: center;
  margin-left: 0.5rem; }
  .hny-cart__item-utility button + button {
    margin-left: 0.5rem; }
  .hny-cart__item-utility .hny-svg {
    fill: #89939B;
    width: 1em;
    height: 1em; }
    .hny-cart__item-utility .hny-svg--check {
      fill: #46954C; }
    .hny-cart__item-utility .hny-svg--undo {
      fill: #ffae00; }

.hny-cart__item-editor {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  flex-flow: row nowrap;
  width: 100%;
  height: 100%;
  background: #fefefe; }
  .is-editing .hny-cart__item-editor {
    display: flex; }
  .hny-cart__item-editor label {
    display: flex;
    flex-flow: row nowrap; }
    .hny-cart__item-editor label > span {
      display: flex;
      align-items: center; }
  .hny-cart__item-editor input {
    width: 75px;
    height: auto;
    margin: 0 0 0 0.5rem; }
  .hny-cart__item-editor > div {
    display: flex; }
    .hny-cart__item-editor > div:first-child {
      display: flex;
      flex-flow: row nowrap;
      align-items: center;
      margin-right: auto;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }
      .hny-cart__item-editor > div:first-child > div {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
    .hny-cart__item-editor > div + div {
      padding-left: 0.5rem; }
    .hny-cart__item-editor > div:last-child {
      display: flex;
      flex-flow: row nowrap; }
      .hny-cart__item-editor > div:last-child .button .hny-svg, .gdpr-framework-privacy-tools .hny-cart__item-editor > div:last-child .button .hny-svg, .hny-cart__item-editor > div:last-child #gdpr-submit .hny-svg {
        width: 1em;
        height: 1em; }
      .hny-cart__item-editor > div:last-child .button + .button, .hny-cart__item-editor > div:last-child #gdpr-submit + .button, .hny-cart__item-editor > div:last-child .gdpr-framework-privacy-tools .button + .button, .gdpr-framework-privacy-tools .hny-cart__item-editor > div:last-child .button + .button, .hny-cart__item-editor > div:last-child .gdpr-framework-privacy-tools #gdpr-submit + .button, .gdpr-framework-privacy-tools .hny-cart__item-editor > div:last-child #gdpr-submit + .button,
      .hny-cart__item-editor > div:last-child .button + #gdpr-submit,
      .hny-cart__item-editor > div:last-child .gdpr-framework-privacy-tools .button + #gdpr-submit, .gdpr-framework-privacy-tools .hny-cart__item-editor > div:last-child .button + #gdpr-submit,
      .hny-cart__item-editor > div:last-child #gdpr-submit + #gdpr-submit {
        margin-left: 0.25rem; }

.hny-cart__item-inner {
  display: flex;
  position: relative;
  align-items: center; }
  .is-editing .hny-cart__item-inner > div:not(.hny-cart__item-editor) {
    visibility: hidden;
    opacity: 0; }

.inline-icon {
  display: inline-flex;
  align-items: center; }
  .inline-icon * + .hny-svg {
    margin-left: 0.25rem; }
  .inline-icon .hny-svg {
    width: 0.75em;
    height: 0.75em; }
    .inline-icon .hny-svg + * {
      margin-left: 0.25rem; }
    .inline-icon .hny-svg--check {
      fill: #fefefe;
      border-radius: 50%;
      background: #46954C; }

p.lead.inline-icon {
  line-height: 1.4; }
  p.lead.inline-icon span + .hny-svg {
    margin-left: 0.5rem; }
  p.lead.inline-icon .hny-svg {
    flex: 0 0 1.75em;
    width: 1.75em;
    max-width: 1.75em;
    height: 1.75em;
    padding: 0.25em; }
    p.lead.inline-icon .hny-svg + span {
      margin-left: 0.5rem; }

.listing--post .cell + .cell .listing__item {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid rgba(137, 147, 155, 0.3); }

.listing__item + .listing__item {
  margin-top: 3rem; }

.listing__block + .listing__block {
  position: relative;
  padding-top: 3rem;
  border-top: 1px solid rgba(137, 147, 155, 0.3); }

.loader-overlay {
  display: flex;
  visibility: hidden;
  z-index: 10000;
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: rgba(254, 254, 254, 0.9);
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s ease-in-out; }
  .is-loading .loader-overlay {
    visibility: visible;
    cursor: wait;
    opacity: 1;
    pointer-events: auto; }
  .loader-overlay .loader {
    color: #46954C; }

.loader span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 2px;
  border-radius: 2px;
  background-color: currentColor;
  opacity: 0; }
  .loader span:nth-child(1) {
    -webkit-animation: opacitychange 1s ease-in-out infinite;
            animation: opacitychange 1s ease-in-out infinite; }
  .loader span:nth-child(2) {
    -webkit-animation: opacitychange 1s ease-in-out 0.33s infinite;
            animation: opacitychange 1s ease-in-out 0.33s infinite; }
  .loader span:nth-child(3) {
    -webkit-animation: opacitychange 1s ease-in-out 0.66s infinite;
            animation: opacitychange 1s ease-in-out 0.66s infinite; }

@-webkit-keyframes opacitychange {
  0%, 100% {
    opacity: 0; }
  60% {
    opacity: 1; } }

@keyframes opacitychange {
  0%, 100% {
    opacity: 0; }
  60% {
    opacity: 1; } }

.logo > a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0.5rem;
  overflow: hidden;
  border: 1px solid #89939B;
  border-radius: 0.35rem;
  background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.15) 0%, #fefefe 60%);
  background-color: #fefefe;
  box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .logo > a {
      padding: 0.75rem; } }
  @media print, screen and (min-width: 64em) {
    .logo > a {
      padding: 1.5rem 1.5rem; } }

.map {
  position: relative;
  overflow: hidden;
  border-top: 2px solid #fefefe;
  background: rgba(254, 254, 254, 0.95);
  box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }
  .map figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .map__location {
    padding: 1.5rem 1.5rem 20rem;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .map__location {
        padding: 6rem 0;
        text-align: left; } }
    .map__location > div {
      display: inline-block;
      position: relative;
      top: 0;
      right: 0;
      padding: 1rem;
      border-radius: 0.35rem;
      background: rgba(254, 254, 254, 0.9);
      font-size: 0.75rem;
      text-align: left;
      -webkit-filter: drop-shadow(0 0 75px rgba(26, 26, 26, 0.4));
              filter: drop-shadow(0 0 75px rgba(26, 26, 26, 0.4)); }
      @media print, screen and (min-width: 40em) {
        .map__location > div {
          left: 50%;
          width: calc(50% - 4.5rem);
          margin-left: 3rem;
          padding: 2rem;
          font-size: 1rem; } }
      @media print, screen and (min-width: 64em) {
        .map__location > div {
          width: auto; } }
      .map__location > div:before {
        position: absolute;
        bottom: -15px;
        left: 50%;
        width: 0;
        height: 0;
        margin-left: -15px;
        border-width: 15px 15px 0 15px;
        border-style: solid;
        border-color: rgba(254, 254, 254, 0.9) transparent transparent transparent;
        content: ''; }
        @media print, screen and (min-width: 40em) {
          .map__location > div:before {
            top: 50%;
            bottom: auto;
            left: -15px;
            margin-top: -15px;
            margin-left: 0;
            border-width: 15px 15px 15px 0;
            border-color: transparent rgba(254, 254, 254, 0.9) transparent transparent; } }

.masthead {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between; }
  @media print, screen and (min-width: 48.875em) {
    .masthead {
      display: block; } }
  .masthead__logo {
    display: flex;
    flex: 0 0 100px;
    align-items: flex-end;
    max-width: 100px;
    padding-top: 1.5rem; }
    .masthead__logo .logo {
      flex: 0 0 100%;
      max-width: 100%; }
      .masthead__logo .logo svg {
        width: 82px;
        height: 73px; }
    @media print, screen and (min-width: 40em) {
      .masthead__logo {
        flex: 0 0 150px;
        max-width: 150px; }
        .masthead__logo .logo svg {
          width: 124px;
          height: 110px; } }
    @media print, screen and (min-width: 48.875em) {
      .masthead__logo {
        position: absolute;
        top: 0;
        flex: 0 0 120px;
        width: 100%;
        max-width: 120px; }
        .masthead__logo .logo svg {
          width: 94px;
          height: 83px; } }
    @media print, screen and (min-width: 64em) {
      .masthead__logo {
        position: absolute;
        top: 0;
        width: 100%;
        max-width: calc(275px - 3rem);
        height: 100%; }
        .masthead__logo .logo svg {
          width: 175px;
          height: 156px; } }
    @media print, screen and (min-width: 80em) {
      .masthead__logo {
        max-width: calc(300px - 3rem); }
        .masthead__logo .logo svg {
          width: auto;
          height: auto; } }
    @media screen and (min-width: 103.125em) {
      .masthead__logo {
        max-width: calc(350px - 3rem); } }
  @media print, screen and (min-width: 64em) {
    .masthead__nav {
      padding-left: 275px; } }
  @media screen and (min-width: 103.125em) {
    .masthead__nav {
      padding-left: 350px; } }
  .masthead__nav .navburger {
    color: #fefefe; }
    @media print, screen and (min-width: 48.875em) {
      .masthead__nav .navburger {
        display: none; } }
    .masthead__nav .navburger .hny-svg {
      width: 2em;
      height: 2em; }
  .masthead__contact {
    display: none; }
    @media print, screen and (min-width: 48.875em) {
      .masthead__contact {
        display: block;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
        color: rgba(254, 254, 254, 0.75);
        font-size: 0.625rem; } }
    @media screen and (min-width: 56.25em) {
      .masthead__contact {
        font-size: 0.75rem; } }
    @media print, screen and (min-width: 80em) {
      .masthead__contact {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
        padding-left: 4rem;
        font-size: 0.8125rem; } }
    @media screen and (min-width: 103.125em) {
      .masthead__contact {
        min-height: 155px; } }
    .masthead__contact .heading {
      color: currentColor;
      font-size: inherit; }
    .masthead__contact .grid-padding-x {
      flex-flow: row nowrap;
      justify-content: flex-end; }
      @media print, screen and (min-width: 64em) {
        .masthead__contact .grid-padding-x {
          justify-content: space-between; } }

@media print, screen and (min-width: 48.875em) and (max-width: 79.99875em) {
  .hny .masthead__contact .grid-padding-x {
    margin-right: -0.75rem;
    margin-left: -0.75rem; }
  .masthead__contact .grid-padding-x .cell {
    padding-right: 0.75rem;
    padding-left: 0.75rem; } }
    .masthead__contact a {
      color: currentColor; }
    .masthead__contact .contact-list--phone-numbers .contact-list__item ul li:last-child {
      display: block;
      margin-top: 0.25rem; }

.mini-cart {
  display: block;
  position: relative;
  padding-right: 18px; }
  .header-utility .mini-cart .hny-svg {
    width: 2.625em;
    height: 2.625em/2.15054; }
  .mini-cart > span {
    display: flex;
    position: absolute;
    top: 5px;
    right: 0;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #46954C;
    color: #fefefe;
    font-weight: normal;
    font-size: 0.625rem;
    letter-spacing: 0;
    text-align: center; }

.mobile-nav {
  -webkit-overflow-scrolling: touch;
  display: flex;
  z-index: 99999999;
  position: fixed;
  top: 0;
  left: 100vw;
  flex-direction: column;
  width: 100vw;
  height: calc(var(--vh, 1vh) * 100);
  padding: 26px 33px 26px;
  overflow-y: scroll;
  background: #03502C;
  color: #fefefe;
  opacity: 0;
  transition: opacity .2s ease-in-out; }
  @media print, screen and (min-width: 48.875em) {
    .mobile-nav {
      display: none; } }
  .is-mobile-nav-open .mobile-nav {
    left: 0;
    opacity: 1; }
  .mobile-nav .is-drilldown {
    margin-right: -1.5rem;
    margin-left: -1.5rem; }
    .mobile-nav .is-drilldown .mobile-nav__item--divider {
      display: none; }
  .mobile-nav.is-drilldown-open .mobile-nav__item > a > span {
    -webkit-animation: simple-fade-out-left 1s ease both;
            animation: simple-fade-out-left 1s ease both; }
  .mobile-nav.is-drilldown-open .mobile-nav__item > a > .hny-svg {
    -webkit-animation: simple-fade-out-right 1s ease both;
            animation: simple-fade-out-right 1s ease both; }
  .mobile-nav .drilldown li {
    margin-bottom: 0.75rem; }
  .mobile-nav .drilldown a {
    padding: 0.25rem 1.5rem;
    font-size: 1.375rem; }
  .mobile-nav > button {
    position: absolute;
    top: 0;
    right: 0;
    padding: 17px 24px;
    color: #fefefe;
    text-align: center; }
    .mobile-nav > button .hny-svg {
      width: 36px;
      height: 36px; }
  .mobile-nav__wrapper .logo {
    display: inline-block;
    width: 120px; }
    .mobile-nav__wrapper .logo > a {
      padding: 0.5rem !important; }
    .mobile-nav__wrapper .logo svg {
      width: 102px;
      height: 91px; }
  .mobile-nav__items {
    margin-top: 3rem;
    margin-bottom: 0;
    margin-left: 0;
    padding-bottom: 1.5rem;
    list-style: none; }
  .mobile-nav__item .hny-svg {
    margin-left: auto; }
  .mobile-nav__item--active a {
    font-weight: bold; }
  .mobile-nav__item a {
    color: #fefefe;
    font-size: 2rem; }
    .mobile-nav__item a > span {
      display: inline-flex;
      align-items: center;
      -webkit-animation-delay: .5s;
              animation-delay: .5s;
      opacity: 0;
      will-change: transform; }
      .is-mobile-nav-open .mobile-nav__item a > span {
        -webkit-animation: simple-fade-in-left 1s ease both;
                animation: simple-fade-in-left 1s ease both; }
    .mobile-nav__item a:hover {
      opacity: 0.5; }
  .mobile-nav__item--has-submenu > a > span {
    position: relative;
    padding-right: 0.625rem; }
    .mobile-nav__item--has-submenu > a > span:after {
      position: absolute;
      right: 0;
      bottom: 0.325em;
      width: 0;
      height: 0;
      border-top: none;
      border-right: 0 solid transparent;
      border-bottom: 8px solid currentColor;
      border-left: 8px solid transparent;
      content: ''; }
  .mobile-nav .js-drilldown-back {
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
    opacity: 0;
    will-change: transform; }
    .mobile-nav .js-drilldown-back a {
      font-size: 0.875rem;
      text-transform: uppercase; }
  .mobile-nav a {
    display: flex;
    align-items: center;
    outline: none;
    line-height: 1.2; }
    .mobile-nav a .hny-svg {
      width: 1.5em;
      height: 1.5em;
      margin-right: 0.5rem; }
    .mobile-nav a span {
      display: inline-flex; }
    .is-mobile-nav-open .mobile-nav a > span {
      -webkit-animation: simple-fade-in-left 1s ease both;
              animation: simple-fade-in-left 1s ease both; }
    .is-mobile-nav-open .mobile-nav a .hny-svg {
      -webkit-animation: simple-fade-in-right 1.5s ease both;
              animation: simple-fade-in-right 1.5s ease both; }
  .mobile-nav .is-drilldown-submenu {
    transition: -webkit-transform 1ms linear;
    transition: transform 1ms linear;
    transition: transform 1ms linear, -webkit-transform 1ms linear; }
    .mobile-nav .is-drilldown-submenu li a > span {
      -webkit-animation-delay: 1s;
              animation-delay: 1s;
      opacity: 0;
      will-change: transform; }
    .mobile-nav .is-drilldown-submenu.is-active li.js-drilldown-back {
      -webkit-animation: simple-fade-in-right 1s ease both;
              animation: simple-fade-in-right 1s ease both; }
    .mobile-nav .is-drilldown-submenu.is-active li a > span {
      -webkit-animation: simple-fade-in-right 1s ease both;
              animation: simple-fade-in-right 1s ease both; }
  .mobile-nav .contact-list {
    margin-top: auto; }
    .mobile-nav .contact-list a {
      color: #fefefe; }

@-webkit-keyframes simple-fade-in-left {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@keyframes simple-fade-in-left {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@-webkit-keyframes simple-fade-in-right {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@keyframes simple-fade-in-right {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1; } }

@-webkit-keyframes simple-fade-out-left {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; } }

@keyframes simple-fade-out-left {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
    opacity: 0; } }

@-webkit-keyframes simple-fade-out-right {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; } }

@keyframes simple-fade-out-right {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    opacity: 0; } }

.mobile-utility__items {
  margin: 0;
  list-style: none; }

.mobile-utility__item > a {
  display: block;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  color: #fefefe;
  font-weight: normal; }
  .mobile-utility__item > a span {
    display: inline-block; }

.is-drilldown-open .mobile-utility__item > a span {
  -webkit-animation: simple-fade-out-left 1s ease both;
          animation: simple-fade-out-left 1s ease both; }

.padded-block {
  z-index: 1;
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3rem;
  background: #407636;
  color: #fefefe; }
  @media print, screen and (min-width: 48.875em) {
    .padded-block {
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }
  @media print, screen and (min-width: 48.875em) {
    .padded-block {
      padding: 5rem; } }
  .padded-block .heading {
    color: #fefefe; }
    .padded-block .heading a {
      color: currentColor; }
  @media print, screen and (min-width: 48.875em) {
    .padded-block--left {
      padding-left: 0; } }
  @media print, screen and (min-width: 48.875em) {
    .padded-block--right {
      padding-right: 0; } }
  .padded-block--dark h1.heading,
  .padded-block--dark h2.heading,
  .padded-block--dark h3.heading,
  .padded-block--dark h4.heading {
    color: #46954C; }

.photo {
  padding: 0.5rem;
  border-radius: 2rem;
  box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08); }
  .photo figure {
    border-radius: 1.5rem;
    background-color: #fefefe; }
  .content-block__layout--full-width .photo {
    padding: 0;
    border-radius: 0;
    box-shadow: none; }
    .content-block__layout--full-width .photo figure {
      border-radius: 0; }
  .photo--clear {
    padding: 0;
    border-radius: 0;
    box-shadow: none; }
    .photo--clear figure {
      border-radius: 0;
      background-color: transparent; }

.price {
  font-weight: normal; }
  @media print, screen and (min-width: 80em) {
    .content-block .price {
      font-size: 1.25rem; } }
  .price__number {
    color: #1a1a1a;
    font-weight: bold;
    font-size: 125%; }
    .price--special .price__number {
      color: #cc4b37; }
    .price__number ins {
      text-decoration: none; }
  .price__unit {
    color: #89939B; }
  .price del {
    position: relative;
    font-weight: normal;
    text-decoration: none; }
    .price del:after {
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;
      -webkit-transform: rotate(-10deg);
              transform: rotate(-10deg);
      border-top: 2px solid currentColor;
      border-color: inherit;
      content: ""; }
  .price--small {
    color: #89939B;
    font-size: 0.875rem; }

.primary-nav {
  display: none;
  border-radius: 0.35rem;
  background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.2) 0%, #fefefe 60%);
  background-color: #fefefe;
  box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08); }
  @media print, screen and (min-width: 48.875em) {
    .primary-nav {
      display: block; } }
  .primary-nav ul {
    list-style: none; }
  .primary-nav__items {
    display: flex;
    flex-flow: row nowrap;
    margin: 0; }
  .primary-nav__item {
    display: flex;
    flex: 1 0 auto; }
    .primary-nav__item:not(.primary-nav__item--divider) + li:not(.primary-nav__item--divider) {
      border-left: 1px solid rgba(26, 26, 26, 0.1); }
    .primary-nav__item > a {
      display: flex;
      position: relative;
      flex: 1 0 auto;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 1rem 0.75rem;
      outline: none;
      font-size: 0.75rem;
      line-height: 1.2;
      text-align: center;
      text-transform: uppercase; }
      @media print, screen and (min-width: 80em) {
        .primary-nav__item > a {
          font-size: 0.875rem; } }
      @media screen and (min-width: 103.125em) {
        .primary-nav__item > a {
          padding: 1.25rem;
          font-size: 1rem; } }
      .primary-nav__item > a:hover:after {
        opacity: 1; }
      .primary-nav__item > a:after {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.05) 0%, transparent 100%);
        content: '';
        opacity: 0;
        transition: inherit; }
      .primary-nav__item > a span span {
        display: block; }
      .primary-nav__item > a .hny-svg {
        fill: #8a8a8a;
        position: absolute;
        bottom: 0.25rem;
        width: 0.75em;
        height: 0.75em;
        transition: inherit; }
    .primary-nav__item--active > a:after {
      background-image: linear-gradient(0deg, rgba(70, 149, 76, 0.25) 0%, transparent 100%);
      opacity: 1; }
    .primary-nav__item--active > a .hny-svg {
      fill: currentColor; }
    .primary-nav__item--alt > a {
      color: #cc4b37; }
      .primary-nav__item--alt > a:after {
        width: calc(100% + 1rem); }
    .primary-nav__item--alt.primary-nav__item--active > a:after {
      background-image: linear-gradient(0deg, rgba(204, 75, 55, 0.2) 0%, transparent 100%); }
    .primary-nav__item--divider {
      position: relative;
      max-width: 0;
      margin: 0; }
      .primary-nav__item--divider + li > a {
        padding-left: 3rem;
        overflow: hidden;
        border-top-right-radius: 0.35rem;
        border-bottom-right-radius: 0.35rem; }
        .primary-nav__item--divider + li > a span {
          z-index: 99999;
          position: relative; }
        .primary-nav__item--divider + li > a svg {
          fill: #fefefe !important;
          z-index: 99999; }
        .primary-nav__item--divider + li > a:before {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          -webkit-transform: skewX(-35deg);
                  transform: skewX(-35deg);
          -webkit-transform-origin: bottom left;
                  transform-origin: bottom left;
          background-image: linear-gradient(0deg, #15a3da 0%, rgba(254, 254, 254, 0.2) 100%);
          background-color: #15a3da;
          content: ''; }
      .primary-nav__item--divider + li ul {
        right: 0; }
      .primary-nav__item--divider--active:after {
        position: absolute;
        top: 0;
        left: 0;
        width: 9999px;
        height: 100%;
        -webkit-transform: skewX(-35deg);
                transform: skewX(-35deg);
        background-image: linear-gradient(0deg, rgba(70, 149, 76, 0.25) 0%, transparent 100%);
        content: ''; }
      .primary-nav__item--divider ~ .primary-nav__item {
        display: flex;
        z-index: 1;
        position: relative;
        flex: 1 0 auto; }
        .primary-nav__item--divider ~ .primary-nav__item > a {
          margin-left: -1.65rem;
          padding-left: 2.75rem;
          color: #fefefe;
          text-shadow: rgba(26, 26, 26, 0.5) 0 1px 1px; }
          @media print, screen and (min-width: 80em) {
            .primary-nav__item--divider ~ .primary-nav__item > a {
              padding-left: 3.75rem; } }
          .primary-nav__item--divider ~ .primary-nav__item > a:after {
            content: none; }
  .primary-nav__submenu {
    position: absolute;
    top: 100%;
    width: 250px;
    margin: 0.5rem 0 0;
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
    border-radius: 0.35rem;
    background: #fefefe;
    background-image: linear-gradient(0deg, rgba(26, 26, 26, 0.2) 0%, #fefefe 60%);
    background-color: #fefefe;
    box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
    opacity: 0;
    -webkit-perspective: 2000px;
            perspective: 2000px;
    pointer-events: none;
    transition-duration: .25s;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    will-change: transform, opacity; }
    .primary-nav__submenu.js-dropdown-active {
      -webkit-transform: none;
              transform: none;
      opacity: 1;
      pointer-events: auto; }
    .primary-nav__submenu-item > a {
      display: block;
      padding: 0.5rem 1rem;
      font-size: 0.875rem; }
      @media print, screen and (min-width: 80em) {
        .primary-nav__submenu-item > a {
          font-size: 1rem; } }
    .primary-nav__submenu-item + li > a {
      border-top: 1px solid rgba(26, 26, 26, 0.1); }
    .primary-nav__submenu-item--active > a {
      background: #46954C;
      color: #fefefe; }

.product-categories {
  margin-bottom: -1.5rem; }
  .column .product-categories {
    margin-right: -1.5rem;
    margin-left: -1.5rem; }
  @media print, screen and (min-width: 64em) {
    .product-categories {
      margin-bottom: 0; } }
  .product-categories .cell {
    margin-bottom: 1.5rem; }
    @media print, screen and (min-width: 64em) {
      .product-categories .cell {
        margin-bottom: 0; } }
  .product-categories__item {
    display: block;
    z-index: 1;
    position: relative;
    padding-bottom: 100%;
    border: 4px solid #fefefe;
    border-radius: 50%;
    background: #1a1a1a;
    box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
    color: #fefefe;
    text-align: center;
    text-shadow: 0 0 15px rgba(26, 26, 26, 0.9);
    text-transform: uppercase; }
    .product-categories__item:after {
      -moz-transition: -moz-transform 0.2s, opacity 0.3s;
      -webkit-transition: -webkit-transform 0.2s, opacity 0.3s;
      box-sizing: content-box;
      z-index: -1;
      position: absolute;
      top: -2px;
      left: -2px;
      width: 100%;
      height: 100%;
      padding: 2px;
      border-radius: 50%;
      background: #fefefe;
      content: '';
      opacity: 0.3;
      pointer-events: none;
      transition: opacity 0.3s, -webkit-transform 0.2s;
      transition: transform 0.2s, opacity 0.3s;
      transition: transform 0.2s, opacity 0.3s, -webkit-transform 0.2s; }
    .product-categories__item:hover {
      -webkit-transform: translateY(-4px);
              transform: translateY(-4px);
      box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
      color: #fefefe; }
      .product-categories__item:hover:after {
        -webkit-transform: scale(1.3);
                transform: scale(1.3);
        opacity: 0; }
      .product-categories__item:hover .heading {
        -webkit-transform: none;
                transform: none; }
      .product-categories__item:hover span {
        -webkit-transform: none;
                transform: none;
        opacity: 1; }
      .product-categories__item:hover figure:after {
        opacity: 0; }
    .product-categories__item > div {
      display: flex;
      z-index: 10;
      position: absolute;
      top: 0;
      left: 0;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      padding: 1rem; }
    .product-categories__item > figure {
      z-index: 2;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      border-radius: 50%;
      transition: 400ms; }
      .product-categories__item > figure:after {
        z-index: 3;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #1a1a1a;
        content: '';
        opacity: 0.2;
        transition: 300ms; }
    .product-categories__item .heading {
      margin-bottom: 0;
      color: #fefefe;
      font-size: 1.125rem;
      transition: 200ms; }
      @media screen and (max-width: 25em) {
        .product-categories__item .heading {
          font-size: 0.875rem; } }
      @media print, screen and (min-width: 48.875em) {
        .product-categories__item .heading {
          font-size: 1.375rem; } }
      @media print, screen and (min-width: 64em) {
        .product-categories__item .heading {
          -webkit-transform: translateY(1.5rem);
                  transform: translateY(1.5rem); } }
      @media print, screen and (min-width: 80em) {
        .product-categories__item .heading {
          font-size: 1.5rem; } }
    .product-categories__item span {
      display: block;
      height: 1.5rem;
      margin-top: 0.5rem;
      -webkit-transform-origin: center bottom;
              transform-origin: center bottom;
      font-size: 0.6875rem;
      text-align: center; }
      @media screen and (max-width: 25em) {
        .product-categories__item span {
          display: none; } }
      @media print, screen and (min-width: 64em) {
        .product-categories__item span {
          -webkit-transform: translateY(1.5rem) scaleY(0.5);
                  transform: translateY(1.5rem) scaleY(0.5);
          opacity: 0;
          transition: 400ms; } }
      @media print, screen and (min-width: 48.875em) {
        .product-categories__item span {
          font-size: 0.8125rem; } }

@media screen and (min-width: 33.125em) and (max-width: 63.99875em) {
  .hny .product-categories .grid-container div.cell {
    padding-right: 5%;
    padding-left: 5%; } }

.hny .content-block .product-categories .grid-container {
  padding-right: 0;
  padding-left: 0; }

.product-gallery {
  position: relative; }
  .product-gallery__slider {
    overflow: hidden;
    border: 0.5rem solid transparent;
    border-radius: 2rem;
    box-shadow: 0 14px 28px rgba(26, 26, 26, 0.1), 0 6px 12px rgba(26, 26, 26, 0.08); }
    .product-gallery__slider .swiper-slide figure {
      padding-bottom: 100%;
      background-color: #fefefe; }
  .product-gallery__pagination .swiper-pagination-bullets {
    position: relative;
    text-align: left; }
  .product-gallery__pagination .swiper-pagination-bullet {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 1rem;
    border: 1px solid;
    border-radius: 0.35rem;
    box-shadow: 0 4px 6px rgba(26, 26, 26, 0.11), 0 1px 3px rgba(26, 26, 26, 0.08);
    opacity: 1; }
    .product-gallery__pagination .swiper-pagination-bullet:only-child {
      display: none; }
    .product-gallery__pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
      border-color: #484848;
      background: none; }
    .product-gallery__pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
      border-color: var(--swiper-theme-color); }
    .product-gallery__pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
      margin-left: 0.75rem; }

.product__gallery {
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 48.875em) {
    .product__gallery {
      margin-bottom: 0; } }
  @media print, screen and (min-width: 48.875em) {
    .product__gallery .woocommerce-breadcrumb {
      display: none; } }

.product__header .woocommerce-breadcrumb {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .product__header .woocommerce-breadcrumb {
      display: block; } }

.product__header .heading {
  margin-bottom: 0; }

.product__header img {
  max-width: 270px;
  margin-bottom: 1rem; }
  .reveal .product__header img {
    max-width: 135px; }

.product__super-sack {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0; }
  .product__super-sack img {
    width: 80px;
    height: 80px; }
    @media print, screen and (min-width: 64em) {
      .product__super-sack img {
        width: 100px;
        height: 100px; } }
  .product__super-sack ~ div {
    padding-right: calc(80px + 1.5rem); }
    @media print, screen and (min-width: 64em) {
      .product__super-sack ~ div {
        padding-right: calc(100px + 1.5rem); } }

@media print, screen and (min-width: 40em) {
  .product__price {
    display: flex;
    align-items: baseline; } }

@media print, screen and (min-width: 64em) {
  .product__price .price {
    font-size: 1.25em; } }

.reveal .product__price .price {
  font-size: 1.125em; }

.product__price .price--small {
  font-size: 0.75rem; }
  @media print, screen and (min-width: 40em) {
    .product__price .price--small {
      margin-left: 0.75rem;
      font-size: 0.875rem; } }

.product__block {
  position: relative; }
  .product__block + .product__block {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #03502C; }
  .reveal .product__block {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top-color: #efefef;
    font-size: 0.875rem; }
  .product__block--no-border {
    padding-top: 0;
    border-top: 0; }

@media print, screen and (min-width: 40em) {
  .product .add-to-cart {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between; } }

@media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
  .product .add-to-cart {
    display: block; } }

.product .add-to-cart label {
  font-weight: bold;
  font-size: 1.25rem;
  white-space: nowrap; }
  .product .add-to-cart label > span > span {
    display: block;
    font-weight: normal;
    font-size: 0.875rem; }

.product .add-to-cart > div {
  display: flex;
  flex-flow: row nowrap;
  margin-top: 0.25rem; }
  @media print, screen and (min-width: 40em) {
    .product .add-to-cart > div {
      margin-top: 0; } }
  @media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
    .product .add-to-cart > div {
      margin-top: 0.25rem; } }
  .product .add-to-cart > div input {
    max-width: 100px;
    height: auto;
    margin-right: 0.5rem;
    margin-bottom: 0; }
    @media print, screen and (min-width: 40em) {
      .product .add-to-cart > div input {
        margin-left: 0.5rem; } }
    @media print, screen and (min-width: 48.875em) and (max-width: 63.99875em) {
      .product .add-to-cart > div input {
        margin-left: 0; } }
  .product .add-to-cart > div .button,
  .product .add-to-cart > div #gdpr-submit {
    flex: 1 0 auto; }
    @media print, screen and (max-width: 39.99875em) {
      .product .add-to-cart > div .button,
      .product .add-to-cart > div #gdpr-submit {
        font-size: 0.75rem; } }

.product__cta {
  margin: 0 auto;
  padding: 1.5rem;
  border: 2px solid rgba(137, 147, 155, 0.3);
  border-radius: 0.35rem;
  background: rgba(254, 254, 254, 0.5);
  text-align: center; }
  @media print, screen and (max-width: 63.99875em) {
    .product__cta {
      font-size: 0.875rem; } }
  @media print, screen and (min-width: 80em) {
    .product__cta {
      max-width: 85%; } }
  .product__cta .heading {
    margin-bottom: 0;
    color: #03502C; }
  .product__cta a {
    color: #46954C; }
  .product__cta .hny-svg {
    fill: #46954C; }
  .product__cta .contact-list--phone-number {
    margin: 0.5rem 0; }
    .product__cta .contact-list--phone-number > li > a {
      font-size: 1.5rem; }
      @media print, screen and (min-width: 80em) {
        .product__cta .contact-list--phone-number > li > a {
          font-size: 1.75em; } }

.product .wysiwyg {
  font-style: italic; }

.recent-updates {
  position: relative;
  margin: 0 -1.5rem; }
  @media print, screen and (min-width: 48.875em) {
    .recent-updates {
      margin: 0; } }
  @media print, screen and (max-width: 48.87375em) {
    .recent-updates .padded-block {
      padding-right: 1.5rem;
      padding-left: 1.5rem; } }
  @media print, screen and (min-width: 48.875em) {
    .recent-updates .padded-block:after {
      position: absolute;
      top: 0;
      left: 100%;
      width: 100vw;
      height: 100%;
      background: inherit;
      content: ''; } }
  .recent-updates figure {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    padding-bottom: 66.66667%; }
    @media print, screen and (min-width: 48.875em) {
      .recent-updates figure {
        position: absolute;
        top: 0;
        left: 0;
        flex: 1 0 auto;
        width: 50%;
        height: 100%;
        padding-bottom: 0; } }

/* common */
.ribbon {
  z-index: 20;
  position: absolute;
  width: 150px;
  height: 150px;
  overflow: hidden; }
  @media print, screen and (min-width: 80em) {
    .ribbon {
      width: 225px;
      height: 225px; } }

.ribbon::before,
.ribbon::after {
  display: block;
  z-index: -1;
  position: absolute;
  border: 5px solid #9b3727;
  content: ""; }

.ribbon span {
  display: block;
  position: absolute;
  width: 225px;
  padding: 0;
  background: #cc4b37;
  background: linear-gradient(0deg, #cc4b37 0%, #d66f5f 100%);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  color: #fefefe;
  font-weight: bold;
  font-size: 0.6875rem;
  line-height: 32px;
  text-align: center;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  text-transform: uppercase;
  white-space: nowrap; }
  @media print, screen and (min-width: 80em) {
    .ribbon span {
      width: 350px;
      font-size: 1rem;
      line-height: 48px; } }

/* top left*/
.ribbon-top-left {
  top: -1rem;
  left: -1rem; }
  .product-gallery .ribbon-top-left {
    top: -0.5rem;
    left: -0.5rem; }

.ribbon-top-left::before,
.ribbon-top-left::after {
  border-top-color: transparent;
  border-left-color: transparent; }

.ribbon-top-left::before {
  top: 0;
  right: 0; }

.ribbon-top-left::after {
  bottom: 0;
  left: 0; }

.ribbon-top-left span {
  top: 47px;
  right: -28px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }
  @media print, screen and (min-width: 80em) {
    .ribbon-top-left span {
      top: 70px;
      right: -47px; } }

.search-header__count {
  margin-top: 1.5rem; }
  .search-header__count p {
    margin: 0; }

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

.site-footer {
  position: relative;
  overflow: hidden;
  background: #407636;
  color: #fefefe; }
  .site-footer:before {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5rem;
    margin-top: -5rem;
    box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
    content: ''; }
  @media print, screen and (min-width: 48.875em) {
    .site-footer:after {
      position: absolute;
      top: 0;
      left: 50%;
      width: 50%;
      height: 100%;
      background: #03502C;
      content: ''; } }
  .site-footer a {
    color: currentColor; }
  .site-footer__top {
    z-index: 3;
    position: relative;
    font-size: 0.8125rem; }
    .site-footer__top h5.heading span span {
      display: block; }
    @media print, screen and (min-width: 40em) {
      .site-footer__top {
        font-size: 0.875rem; } }
    .site-footer__top > .grid-container > .grid-x > .cell .cell + .cell {
      margin-top: 1.5rem; }
      @media print, screen and (min-width: 40em) and (max-width: 48.87375em) {
        .site-footer__top > .grid-container > .grid-x > .cell .cell + .cell {
          margin-top: 0; } }
      @media print, screen and (min-width: 80em) {
        .site-footer__top > .grid-container > .grid-x > .cell .cell + .cell {
          margin-top: 0; } }
    .site-footer__top > .grid-container > .grid-x > .cell:last-child {
      position: relative; }
      .site-footer__top > .grid-container > .grid-x > .cell:last-child:after {
        position: absolute;
        top: 0;
        right: -1.5rem;
        left: -1.5rem;
        height: 100%;
        background: #03502C;
        content: ''; }
        @media print, screen and (min-width: 48.875em) {
          .site-footer__top > .grid-container > .grid-x > .cell:last-child:after {
            content: none; } }
    .site-footer__top .padded-block {
      background: none; }
    .site-footer__top .button,
    .site-footer__top #gdpr-submit {
      margin-top: 1.5rem; }
      @media print, screen and (max-width: 39.99875em) {
        .site-footer__top .button,
        .site-footer__top #gdpr-submit {
          font-size: 0.75rem; } }
  .site-footer__bottom {
    position: relative;
    padding-top: 1rem;
    padding-bottom: 1rem;
    overflow: hidden;
    font-size: 0.8125rem; }
    @media print, screen and (min-width: 64em) {
      .site-footer__bottom {
        font-size: 0.75rem; } }
    .site-footer__bottom:before {
      z-index: 1;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 5rem;
      margin-top: -5rem;
      box-shadow: 0 18px 140px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
      content: ''; }

.site-header {
  display: flex;
  z-index: 200;
  position: relative;
  flex-flow: row nowrap;
  align-items: center;
  margin-bottom: -2rem; }
  @media print, screen and (min-width: 48.875em) {
    .site-header {
      display: block; } }
  .site-header:before {
    z-index: -1;
    position: absolute;
    top: 0;
    bottom: 1.5rem;
    width: 100%;
    background: #03502C;
    box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15);
    content: ''; }
    @media print, screen and (min-width: 48.875em) {
      .site-header:before {
        bottom: 2rem;
        background: #407636; } }
  .site-header__masthead {
    flex: 1 1; }
  .site-header__utility {
    order: 10;
    margin-top: -1.5rem; }
    @media print, screen and (min-width: 48.875em) {
      .site-header__utility {
        position: relative;
        margin-top: 0;
        background: #03502C; } }

.site-search {
  margin: 0 auto;
  overflow: hidden;
  border-radius: 0.35rem;
  transition: all 0.2s ease-in-out; }
  .hero .site-search {
    max-width: 500px;
    border: 1px solid #fefefe;
    box-shadow: 0 18px 35px rgba(26, 26, 26, 0.25), 0 5px 15px rgba(26, 26, 26, 0.15); }
  .home .hero .site-search {
    margin-top: 3rem; }
  .site-search__form {
    display: flex;
    position: relative;
    flex-flow: row nowrap; }
    .site-search__form > div {
      display: flex;
      flex: 1 0 auto; }
      .site-search__form > div:last-child {
        flex: 0 1 auto; }
  .site-search__input {
    display: flex;
    position: relative;
    flex: 1 1; }
    .site-search__input input[type='text'] {
      flex: 1 0 auto;
      height: auto;
      margin: 0;
      padding-right: 1rem;
      padding-left: 1rem;
      border: 0;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      background: rgba(26, 26, 26, 0.8);
      box-shadow: none;
      color: #fefefe;
      transition: all 0.2s ease-in-out; }
      .l-main .site-search__input input[type='text'] {
        font-size: 1.375rem;
        line-height: 1.25rem; }
      .site-search__input input[type='text']::-webkit-input-placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']::-moz-placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']:-ms-input-placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']::-ms-input-placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']::placeholder {
        color: rgba(254, 254, 254, 0.75); }
      .site-search__input input[type='text']:focus {
        background: rgba(26, 26, 26, 0.95); }
  .site-search__submit button {
    padding: 0.5rem 1rem;
    border: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    box-shadow: none; }
    .l-main .site-search__submit button {
      padding: 1rem; }
    .site-search__submit button .hny-svg {
      width: 1rem;
      height: 1rem; }
      .l-main .site-search__submit button .hny-svg {
        width: 2rem;
        height: 2rem; }

@media print {
  *:before, *:after {
    background: rgba(255, 255, 255, 0) !important;
    box-shadow: none !important;
    color: #1a1a1a !important;
    text-shadow: none !important; }
  a[href]:after {
    content: none; }
  a[href^='tel']:after,
  a [href^='#']:after {
    content: ''; }
  a:visited {
    text-decoration: underline; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #1a1a1a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  .hny-svg {
    fill: #1a1a1a !important; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .recent-updates .grid-x .grid-x .cell:last-child {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%; }
  .product .cell.hide-for-print + .cell {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCJtYWluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwic2V0dGluZ3MvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiY29tbW9uL191dGlsLnNjc3MiLCJjb21tb24vX2FuaW1hdGlvbnMuc2NzcyIsImNvbW1vbi9fZ2xvYmFsLnNjc3MiLCJjb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2RyaWxsZG93bi1jdXN0b20uc2NzcyIsImNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL19nZm9ybXMtY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19ncmlkLnNjc3MiLCJjb21wb25lbnRzL19oZWFkaW5ncy5zY3NzIiwiY29tcG9uZW50cy9faWNvbnMuc2NzcyIsImNvbXBvbmVudHMvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcmV2ZWFsLWN1c3RvbS5zY3NzIiwiY29tcG9uZW50cy9fc2ltcGxlLWxpZ2h0Ym94LWN1c3RvbS5zY3NzIiwiY29tcG9uZW50cy9fc2xpY2stY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL190b2FzdC1jdXN0b20uc2NzcyIsImNvbXBvbmVudHMvX3d5c2l3eWcuc2NzcyIsIm1vZHVsZXMvXzQwNC5zY3NzIiwibW9kdWxlcy9fYXJ0aWNsZS5zY3NzIiwibW9kdWxlcy9fYmFjay10by10b3Auc2NzcyIsIm1vZHVsZXMvX2Jyb2NodXJlcy5zY3NzIiwibW9kdWxlcy9fY2FsY3VsYXRvci5zY3NzIiwibW9kdWxlcy9fY2FyZC5zY3NzIiwibW9kdWxlcy9fY2FyZWVyLnNjc3MiLCJtb2R1bGVzL19jYXJlZXJzLnNjc3MiLCJtb2R1bGVzL19jaGVja2xpc3Quc2NzcyIsIm1vZHVsZXMvX2NoZWNrb3V0LnNjc3MiLCJtb2R1bGVzL19jb2xvcGhvbi5zY3NzIiwibW9kdWxlcy9fY29udGFjdC1saXN0LnNjc3MiLCJtb2R1bGVzL19jb250ZW50LWJsb2Nrcy5zY3NzIiwibW9kdWxlcy9fZmFxLWxpc3Quc2NzcyIsIm1vZHVsZXMvX2dhbGxlcnkuc2NzcyIsIm1vZHVsZXMvX2dkcHIuc2NzcyIsIm1vZHVsZXMvX2dsb2JhbC1hbGVydC5zY3NzIiwibW9kdWxlcy9faGVhZGVyLXV0aWxpdHkuc2NzcyIsIm1vZHVsZXMvX2hlcm8uc2NzcyIsIm1vZHVsZXMvX2hueS1jYXJ0LnNjc3MiLCJtb2R1bGVzL19pbmxpbmUtaWNvbi5zY3NzIiwibW9kdWxlcy9fbGlzdGluZy5zY3NzIiwibW9kdWxlcy9fbG9hZGVyLnNjc3MiLCJtb2R1bGVzL19sb2dvLnNjc3MiLCJtb2R1bGVzL19tYXAuc2NzcyIsIm1vZHVsZXMvX21hc3RoZWFkLnNjc3MiLCJtb2R1bGVzL19taW5pLWNhcnQuc2NzcyIsIm1vZHVsZXMvX21vYmlsZS1uYXYuc2NzcyIsIm1vZHVsZXMvX21vYmlsZS11dGlsaXR5LnNjc3MiLCJtb2R1bGVzL19wYWRkZWQtYmxvY2suc2NzcyIsIm1vZHVsZXMvX3Bob3RvLnNjc3MiLCJtb2R1bGVzL19wcmljZS5zY3NzIiwibW9kdWxlcy9fcHJpbWFyeS1uYXYuc2NzcyIsIm1vZHVsZXMvX3Byb2R1Y3QtY2F0ZWdvcmllcy5zY3NzIiwibW9kdWxlcy9fcHJvZHVjdC1nYWxsZXJ5LnNjc3MiLCJtb2R1bGVzL19wcm9kdWN0LnNjc3MiLCJtb2R1bGVzL19yZWNlbnQtdXBkYXRlcy5zY3NzIiwibW9kdWxlcy9fcmliYm9uLnNjc3MiLCJtb2R1bGVzL19zZWFyY2gtaGVhZGVyLnNjc3MiLCJtb2R1bGVzL19zaW5nbGUtcG9zdC5zY3NzIiwibW9kdWxlcy9fc2l0ZS1mb290ZXIuc2NzcyIsIm1vZHVsZXMvX3NpdGUtaGVhZGVyLnNjc3MiLCJtb2R1bGVzL19zaXRlLXNlYXJjaC5zY3NzIiwiY29tbW9uL19wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7Ozs7RURNRTtBRWlERiw0REFBTztBQUNQLDZFQUFPO0FBQ1AsMkVBQU87QUN1SEM7RUNuSU47SUFDRSxXQUFXO0lBQ1gsVUFBVTtJQUNWLGNBQWMsRUFBQSxFQUNmOztBQ2hERCwyRUFBQTtBQVFBO0VBRUUsOEJBQThCO0VBRDlCLGlCQUFpQixFQUNhOztBQVFoQztFQUNFLFNBQVMsRUFBQTs7QUFNWDtFQUVFLGdCQUFnQjtFQURoQixjQUFjLEVBQ0U7O0FBU2xCO0VBQ0UsdUJBQXVCO0VBQ3ZCLFNBQVM7RUFDVCxpQkFBaUIsRUFBQTs7QUFNbkI7RUFFRSxjQUFjO0VBRGQsaUNBQWlDLEVBQ25COztBQVFoQjtFQUNFLDZCQUE2QixFQUFBOztBQU0vQjtFQUNFLG1CQUFtQjtF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O0VBMkNKLFdBdEVpQztFQWdDakMsY0FBYztFQURkLGVBQWUsRUEvQmtCO0VIakVuQztJRzRGQSxhQUFNLEVBQUE7RUg1Rk47SUc0RkEsY0FBTSxFQUFBOztBSGhGTjtFRzJIRSxXQWxGWSxFQUFBOztBSHpDZDtFRzJIRSxXQWxGWSxFQUFBOztBSHpCWjtFQU1JLGdCQUFnQixFQUFBOztBTmlIaEI7RU12SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5nSEM7RU12SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5nSEM7RU12SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5nSEM7RU12SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5xSEM7RU01SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QU5xSEM7RU01SEo7SUFNSSxnQkFBZ0IsRUFBQSxFQUNqQjs7QUFZSDtFRzZDRixjQUFNLEVBQUE7O0FIOUJGO0VHeUVGLGVDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsZ0JDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsVUNuQnlELEVBQUE7O0FKdER2RDtFR3lFRixnQkNuQnlELEVBQUE7O0FKdER2RDtFR3lFRixnQkNuQnlELEVBQUE7O0FKdER2RDtFR3lFRixVQ25CeUQsRUFBQTs7QUp0RHZEO0VHeUVGLGdCQ25CeUQsRUFBQTs7QUp0RHZEO0VHeUVGLGdCQ25CeUQsRUFBQTs7QUp0RHZEO0VHeUVGLFVDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsZ0JDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsZ0JDbkJ5RCxFQUFBOztBSnREdkQ7RUd5RUYsV0NuQnlELEVBQUE7O0FWK0JyRDtFTXpHRjtJR2tESixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixjQUFNLEVBQUE7RUh2Q0Y7SUdrRkYsV0FsRlksRUFBQTtFSFNWO0lHeUVGLGVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFdDbkJ5RCxFQUFBLEVKbkR0RDs7QU5rRkM7RU16R0Y7SUdrREosYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixXQ25CeUQsRUFBQSxFSm5EdEQ7O0FOa0ZDO0VNekdGO0lHa0RKLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsV0NuQnlELEVBQUEsRUpuRHREOztBTmtGQztFTXpHRjtJR2tESixhQUFNO0lBMkNKLFdBbEZZLEVBQUE7RUhOWjtJRzZDRixjQUFNLEVBQUE7RUh2Q0Y7SUdrRkYsV0FsRlksRUFBQTtFSFNWO0lHeUVGLGVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFdDbkJ5RCxFQUFBLEVKbkR0RDs7QU51RkM7RU05R0Y7SUdrREosYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixXQ25CeUQsRUFBQSxFSm5EdEQ7O0FOdUZDO0VNOUdGO0lHa0RKLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsVUNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixVQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsZ0JDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLFVDbkJ5RCxFQUFBO0VKdER2RDtJR3lFRixnQkNuQnlELEVBQUE7RUp0RHZEO0lHeUVGLGdCQ25CeUQsRUFBQTtFSnREdkQ7SUd5RUYsV0NuQnlELEVBQUEsRUpuRHREOztBQUtMO0VBQ0UsV0FBVyxFQUFBOztBQUliO0VBQ0UsWUFBWSxFQUFBOztBQThCZDtFRXZHTSxxQkFBNkQ7RUFBN0Qsb0JBQTZELEVBQUE7RUZ1R25FO0lHNkJFLHdCQXREOEY7SURyRTVGLG9CQUE2RDtJQUE3RCxtQkFBNkQsRUFBQTtFRnNFakU7SUdxREUsV0FsRlksRUFBQTtFSGlDZDtJR2lERSxXQWxGWSxFQUFBO0VIeUNaO0lHeUNBLDRCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsdUJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDZCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsdUJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDZCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsdUJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLDZCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0Esd0JBdEQ4RixFQUFBO0VUa0UxRjtJTWpFTjtNR3FERSxXQWxGWSxFQUFBO0lIaUNkO01HaURFLFdBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUEsRUhlN0Y7RU5tREc7SU1qRU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBLEVIZTdGO0VObURHO0lNakVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQSxFSGU3RjtFTm1ERztJTWpFTjtNR3FERSxXQWxGWSxFQUFBO0lIaUNkO01HaURFLFdBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx1QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUEsRUhlN0Y7RU53REc7SU10RU47TUdxREUsV0FsRlksRUFBQTtJSGlDZDtNR2lERSxXQWxGWSxFQUFBO0lIeUNaO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsdUJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBLEVIZTdGO0VOd0RHO0lNdEVOO01HcURFLFdBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsV0FsRlksRUFBQTtJSHlDWjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHVCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQSxFSGU3Rjs7QUE4Q0g7RUUzSU0scUJBQTZEO0VBQTdELG9CQUE2RCxFQUFBOztBRm9KakU7RUVwSkkscUJBQTZEO0VBQTdELG9CQUE2RCxFQUFBOztBRjJJbkU7RUUzSU0scUJBQTZEO0VBQTdELG9CQUE2RCxFQUFBOztBR0FuRTtFRm9JRSxXQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFVDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsZ0JDbkJ5RCxFQUFBOztBQ2pIM0Q7RUZvSUUsVUNuQnlELEVBQUE7O0FDakgzRDtFRm9JRSxVQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLGdCQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLGdCQ25CeUQsRUFBQTs7QUNqSDNEO0VGb0lFLFlDbkJ5RCxFQUFBOztBVitCckQ7RVdoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVg4SUs7RVdoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVg4SUs7RVdoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVg4SUs7RVdoSk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVhtSks7RVdySk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QVhtSks7RVdySk47SUZvSUUsV0NuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFVDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxVQ25CeUQsRUFBQTtFQ2pIM0Q7SUZvSUUsZ0JDbkJ5RCxFQUFBO0VDakgzRDtJRm9JRSxnQkNuQnlELEVBQUE7RUNqSDNEO0lGb0lFLFlDbkJ5RCxFQUFBLEVDL0cxRDs7QUFGRDtFRm9JRSx3QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSx1QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSw2QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSx1QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSx1QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSw2QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSw2QkF0RDhGLEVBQUE7O0FFOUVoRztFRm9JRSx5QkF0RDhGLEVBQUE7O0FUa0UxRjtFV2hKTjtJRm9JRSx3QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHlCQXREOEYsRUFBQSxFRTVFL0Y7O0FYOElLO0VXaEpOO0lGb0lFLHdCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUseUJBdEQ4RixFQUFBLEVFNUUvRjs7QVg4SUs7RVdoSk47SUZvSUUsd0JBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx5QkF0RDhGLEVBQUEsRUU1RS9GOztBWDhJSztFV2hKTjtJRm9JRSx3QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHlCQXREOEYsRUFBQSxFRTVFL0Y7O0FYbUpLO0VXckpOO0lGb0lFLHdCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLHVCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSw2QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUseUJBdEQ4RixFQUFBLEVFNUUvRjs7QVhtSks7RVdySk47SUZvSUUsd0JBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsdUJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx1QkF0RDhGLEVBQUE7RUU5RWhHO0lGb0lFLDZCQXREOEYsRUFBQTtFRTlFaEc7SUZvSUUsNkJBdEQ4RixFQUFBO0VFOUVoRztJRm9JRSx5QkF0RDhGLEVBQUEsRUU1RS9GOztBTHFNRztFTTlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUE7RVYrQnJEO0lZNUhJO01IZ0hSLGVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDtFWjBITDtJWTVISTtNSGdIUixlQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7RVowSEw7SVk1SEk7TUhnSFIsZUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEO0VaMEhMO0lZNUhJO01IZ0hSLGVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDtFWitITDtJWWpJSTtNSGdIUixlQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7RVorSEw7SVlqSUk7TUhnSFIsZUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsVUNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixVQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsZ0JDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLFVDbkJ5RCxFQUFBO0lFN0ZqRDtNSGdIUixnQkNuQnlELEVBQUE7SUU3RmpEO01IZ0hSLGdCQ25CeUQsRUFBQTtJRTdGakQ7TUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBTnVMUDtFTTdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0FaMkc5QjtFTXVERjtJTTlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QVpnSkM7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWTVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaMEhMO0VZNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVowSEw7RVk1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWjBITDtFWTVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaK0hMO0VZaklJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVorSEw7RVlqSUk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWjBITDtFTTZERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FaeUdDO0VNdURGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBWmdKQztFWXJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0FabUlMO0VZcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVptSUw7RVk1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWjBITDtFWTVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaMEhMO0VZNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVorSEw7RVlqSUk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWitITDtFWWpJSTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaMEhMO0VNNkRGO0lNN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QVp5R0M7RU11REY7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0FaZ0pDO0VZcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVptSUw7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWXJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0FabUlMO0VZNUhJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVowSEw7RVk1SEk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWitITDtFWWpJSTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaK0hMO0VZaklJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVowSEw7RU02REY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBWnlHQztFTXVERjtJTTlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QVpnSkM7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWXJJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0FabUlMO0VZcklJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVptSUw7RVlySUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWm1JTDtFWTVISTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaK0hMO0VZaklJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVorSEw7RVlqSUk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWjBITDtFTTZERjtJTTdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0FaOEdDO0VNa0RGO0lNOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBWnFKQztFWTFJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0Fad0lMO0VZMUlJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVp3SUw7RVkxSUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWndJTDtFWTFJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0Fad0lMO0VZMUlJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVp3SUw7RVlqSUk7SUhnSFIsZUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsV0NuQnlELEVBQUEsRUUzRmhEOztBWitITDtFWWpJSTtJSGdIUixlQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixXQ25CeUQsRUFBQSxFRTNGaEQ7O0FaK0hMO0VNd0RGO0lNN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QVo4R0M7RU1rREY7SU05TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0FacUpDO0VZMUlJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVp3SUw7RVkxSUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWndJTDtFWTFJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0Fad0lMO0VZMUlJO0lIeUhSLGVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFdDbkJ5RCxFQUFBLEVFcEdoRDs7QVp3SUw7RVkxSUk7SUh5SFIsZUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsV0NuQnlELEVBQUEsRUVwR2hEOztBWndJTDtFWTFJSTtJSHlIUixlQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixVQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLFVDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixnQkNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsVUNuQnlELEVBQUE7RUV0R2pEO0lIeUhSLGdCQ25CeUQsRUFBQTtFRXRHakQ7SUh5SFIsZ0JDbkJ5RCxFQUFBO0VFdEdqRDtJSHlIUixXQ25CeUQsRUFBQSxFRXBHaEQ7O0Fad0lMO0VZaklJO0lIZ0hSLGVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFVDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsVUNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLGdCQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixVQ25CeUQsRUFBQTtFRTdGakQ7SUhnSFIsZ0JDbkJ5RCxFQUFBO0VFN0ZqRDtJSGdIUixnQkNuQnlELEVBQUE7RUU3RmpEO0lIZ0hSLFdDbkJ5RCxFQUFBLEVFM0ZoRDs7QVorSEw7RU13REY7SU03S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBTm9MRDtFT3ZNRixlQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsOEJBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixxQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLG9DQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixxQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsK0JBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHFDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixxQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsK0JBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHFDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixxQ0FBNkIsRUFBQTs7QVB1TTNCO0VPdk1GLGdCQUE2QixFQUFBOztBUDJNM0I7RU8zTUYsK0JBQTZCLEVBQUE7O0FQdU0zQjtFT3ZNRixzQkFBNkIsRUFBQTs7QVAyTTNCO0VPM01GLHFDQUE2QixFQUFBOztBUHVNM0I7RU92TUYsc0JBQTZCLEVBQUE7O0FQMk0zQjtFTzNNRixxQ0FBNkIsRUFBQTs7QWI0SHpCO0VNMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FOakZDO0VNMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FOakZDO0VNMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FOakZDO0VNMkVGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FONUVDO0VNc0VGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FONUVDO0VNc0VGO0lPdk1GLGVBQTZCLEVBQUE7RVAyTTNCO0lPM01GLDhCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixxQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYsb0NBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQTtFUHVNM0I7SU92TUYsZ0JBQTZCLEVBQUE7RVAyTTNCO0lPM01GLCtCQUE2QixFQUFBO0VQdU0zQjtJT3ZNRixzQkFBNkIsRUFBQTtFUDJNM0I7SU8zTUYscUNBQTZCLEVBQUE7RVB1TTNCO0lPdk1GLHNCQUE2QixFQUFBO0VQMk0zQjtJTzNNRixxQ0FBNkIsRUFBQSxFUDZNMUI7O0FBekpTO0VDdEVkLGFBQWE7RUFDYix3QkFINkIsRUFBQTtFRGlQN0I7SUcxSUEsWUFBbUI7SUFDbkIsZ0JBQTJCLEVBQUE7RUh5STNCO0lHN0dFLFlBbEZZLEVBQUE7RUgrTGQ7SUc3R0UsWUFsRlksRUFBQTtFSCtMZDtJQTJCTSxnQkFBZ0IsRUFBQTtFTjVIaEI7SU1pR047TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU43SEM7SU1pR047TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU43SEM7SU1pR047TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU43SEM7SU1pR047TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU54SEM7SU00Rk47TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RU54SEM7SU00Rk47TUEyQk0sZ0JBQWdCLEVBQUEsRUFDakI7RUE1Qkw7SUd4SkEsY0FBTSxFQUFBO0VId0pOO0lHN0dFLGdCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxXQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLFdDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxpQkNuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsV0NuQnlELEVBQUE7RUpnSTNEO0lHN0dFLGlCQ25CeUQsRUFBQTtFSmdJM0Q7SUc3R0UsaUJDbkJ5RCxFQUFBO0VKZ0kzRDtJRzdHRSxZQ25CeUQsRUFBQTtFVitCckQ7SU1pR047TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU4xSkQ7SU1pR047TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU4xSkQ7SU1pR047TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU4xSkQ7SU1pR047TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU5ySkQ7SU00Rk47TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7RU5ySkQ7SU00Rk47TUd4SkEsYUFBTTtNQTJDSixZQWxGWSxFQUFBO0lIK0xkO01HeEpBLGNBQU0sRUFBQTtJSHdKTjtNRzdHRSxZQWxGWSxFQUFBO0lIK0xkO01HN0dFLGdCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxXQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLFdDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxpQkNuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsV0NuQnlELEVBQUE7SUpnSTNEO01HN0dFLGlCQ25CeUQsRUFBQTtJSmdJM0Q7TUc3R0UsaUJDbkJ5RCxFQUFBO0lKZ0kzRDtNRzdHRSxZQ25CeUQsRUFBQSxFSnlMcEQ7O0FBT0w7RUVqVEksbUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBOztBRmlUakU7RUVqVEksbUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBOztBRnVHbkU7RUV2R00sbUJBQTZEO0VBQTdELHNCQUE2RCxFQUFBO0VGdUduRTtJRzZCRSx5QkF0RDhGO0lEckU1RixrQkFBNkQ7SUFBN0QscUJBQTZELEVBQUE7RUZzRWpFO0lHcURFLFlBbEZZLEVBQUE7RUhpQ2Q7SUdpREUsWUFsRlksRUFBQTtFSHlDWjtJR3lDQSw2QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHdCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw4QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHdCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw4QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHdCQXREOEYsRUFBQTtFSGE5RjtJR3lDQSw4QkF0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsOEJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLHlCQXREOEYsRUFBQTtFVGtFMUY7SU1qRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VObURHO0lNakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHlCQXREOEYsRUFBQSxFSGU3RjtFTm1ERztJTWpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx5QkF0RDhGLEVBQUEsRUhlN0Y7RU5tREc7SU1qRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VOd0RHO0lNdEVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5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SGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VObURHO0lNakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHlCQXREOEYsRUFBQSxFSGU3RjtFTm1ERztJTWpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx5QkF0RDhGLEVBQUEsRUhlN0Y7RU5tREc7SU1qRU47TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLDZCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esd0JBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EseUJBdEQ4RixFQUFBLEVIZTdGO0VOd0RHO0lNdEVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHdCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw4QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLHlCQXREOEYsRUFBQSxFSGU3RjtFTndERztJTXRFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsNkJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx3QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsOEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDhCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSx5QkF0RDhGLEVBQUEsRUhlN0Y7O0FBa1REO0VRNVlJLDBCQUFtQyxFQUFBO0VkNkluQztJTStQSjtNUTVZSSwwQkFBbUMsRUFBQSxFUjhZdEM7RU5qUUc7SU0rUEo7TVE1WUksMEJBQW1DLEVBQUEsRVI4WXRDO0VOalFHO0lNK1BKO01RNVlJLDBCQUFtQyxFQUFBLEVSOFl0QztFTmpRRztJTStQSjtNUTVZSSwwQkFBbUMsRUFBQSxFUjhZdEM7RU41UEc7SU0wUEo7TVE1WUksMEJBQW1DLEVBQUEsRVI4WXRDO0VONVBHO0lNMFBKO01RNVlJLDBCQUFtQyxFQUFBLEVSOFl0Qzs7QU5qUUc7RU1tUUY7SVFoWkUsMEJBQW1DLEVBQUEsRVJrWnBDOztBTnJRQztFTW1RRjtJUWhaRSwwQkFBbUMsRUFBQSxFUmtacEM7O0FOclFDO0VNbVFGO0lRaFpFLDBCQUFtQyxFQUFBLEVSa1pwQzs7QU5yUUM7RU1tUUY7SVFoWkUsMEJBQW1DLEVBQUEsRVJrWnBDOztBTmhRQztFTThQRjtJUWhaRSwwQkFBbUMsRUFBQSxFUmtacEM7O0FOaFFDO0VNOFBGO0lRaFpFLDBCQUFtQyxFQUFBLEVSa1pwQzs7QVNsTkw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsU0FBUztFQUNULFVBQVUsRUFBQTs7QUFJWjtFQUtFLGtDWDFGeUM7RVdzRnpDLHFCWHZGNEI7RVd5RjVCLGtCQUFrQjtFQUNsQixnQlgxTG1CLEVBaUdzQjs7QVc4RjNDOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFBQTs7QUFJdEI7O0VBRUUsaUJYbkxxQjtFV29MckIsb0JBQW9CLEVBQUE7O0FidEx0QjtFYTJMRSxjWGpIaUI7RVdrSGpCLG9CQUFvQixFQUFBOztBQUl0Qjs7Ozs7O0VBVUUsa0NYaklzQztFV2dJdEMsY1h0SmtCO0VXb0psQixrQlh0SnNCO0VXdUp0QixtQlh2TXlCO0VXcU16QixvTFgxTXNMLEVBNkVoSjtFV3VIeEM7Ozs7OztJQWNJLGNYeE5lO0lXdU5mLGNBQWMsRVh2TkM7O0FXaU9iO0VBd0JJLGFBQWE7RUFPYixtQlhqTWU7RVdzS2YsaUJDM042QztFRHVPN0MsaUJYbkxZLEVBQ0c7O0FXa0tuQjtFQXdCSSxhQUFhO0VBT2IsbUJYak1lO0VXc0tmLG1CQzNONkM7RUR1TzdDLGlCWG5MWSxFQUNHOztBV2tLbkI7RUF3QkksYUFBYTtFQU9iLG1CWGpNZTtFV3NLZixtQkMzTjZDO0VEdU83QyxpQlhuTFksRUFDRzs7QVdrS25CO0VBd0JJLGFBQWE7RUFPYixtQlhqTWU7RVdzS2YsbUJDM042QztFRHVPN0MsaUJYbkxZLEVBQ0c7O0FXa0tuQjtFQXdCSSxhQUFhO0VBT2IsbUJYak1lO0VXc0tmLG9CQzNONkM7RUR1TzdDLGlCWG5MWSxFQUNHOztBV2tLbkI7RUF3QkksYUFBYTtFQU9iLG1CWGpNZTtFV3NLZixlQzNONkM7RUR1TzdDLGlCWG5MWSxFQUNHOztBSm1DbkI7RWUrSEE7SUFJSSxrQkMzTjZDLEVBQUE7RUR1TmpEO0lBSUksbUJDM042QyxFQUFBO0VEdU5qRDtJQUlJLGtCQzNONkMsRUFBQTtFRHVOakQ7SUFJSSxtQkMzTjZDLEVBQUEsRUR3UGhEOztBZmhLRDtFZStIQTtJQUlJLGlCQzNONkMsRUFBQSxFRHdQaEQ7O0FieFJQO0VhZ1NFLGNYaFJnQjtFVytRaEIsb0JBQW9CO0VBRXBCLHFCWDFLeUI7RVc0S3pCLGVBQWUsRUFBQTtFQUxqQjtJQVNJLGNYNVFtQixFQUFBO0VXbVF2QjtJQWdCSSxTQUFTLEVBQUE7O0FialViO0VheVVFLGlCWDFTaUI7RVcyU2pCLFNBQVM7RUFDVCxvQlg3THlCO0VXeUx6QixXQUFXO0VBTVgsYUFBYTtFQUNiLGVBQWU7RUFDZixnQ1h0U2lCO0VXdVNqQixjQUFjLEVBQUE7O0FBSWhCOzs7RUFHRSxxQlh2TjRCO0VXeU41QixnQlh6VG1CO0VXd1RuQiw0Qlh0TXlCLEVBbEhOOztBVzZUckI7RUFDRSxrQkFBa0IsRUFBQTs7QUFJcEI7RUFDRSxvQlhoTnNCO0VXaU50QixxQlhuTmtCLEVBQUE7O0FXdU5wQjtFQUNFLG9CWHROc0IsRUFBQTs7QVcwTnhCO0VBR0ksZ0JBQWdCO0VBRGhCLG9CWDNOMkIsRVc0Tlg7O0FBS3BCO0VBQ0UsbUJYak95QixFQUFBO0VXZ08zQjtJQUlJLHFCWGxPOEI7SVdtTzlCLGlCWHJVbUIsRUFBQTs7QVcwVXZCO0VBQ0Usa0JYaFE0QjtFV2lRNUIsc0NDOVVxRDtFRCtVckQsOEJYelZpQixFQUFBO0VXc1ZuQjtJQU9JLGNYNVZhO0lXMlZiLGdCWHJXaUIsRUFVSjs7QVcwV2pCO0VBQ0UsaUNYMVdXO0VXNFdYLHFCQUFxQjtFQURyQixZQUFZLEVBQ1M7O0FBSXZCO0VBQ0UsU0FBUyxFQUFBOztBQVdYO0VBQ0UsU0FBUztFQUNULDJCQ2pYUztFRHlYUCxzQlgzWGlCO0VXcVhuQix5QlhuWWdCO0VXc1loQixjWG5ZVztFV2tZWCw0RFh4VW1FLEVBL0NoRDs7QWEwQ3JCO0VBQ0Usa0JiNEV5QjtFYTNFekIscUJiNEU0QjtFYXhFNUIsY2I1RGU7RWEwRGYsbUJiaER5QjtFYWlEekIsaUJiRW9CLEVBN0RMOztBYWdFakI7RUFDRSxlYjZEcUM7RWE1RHJDLGtCYjZEbUIsRUFBQTs7QWF6RHJCO0VBQ0UsaUJiOERtQjtFYTdEbkIsY0FBYyxFQUFBO0VBRWQ7SUFDRSxpQkFBaUIsRUFBQTs7QUFJckI7RUFHSSxjQUFnQztFQUNoQyxnQkFBZ0IsRUFBQTs7QUFJcEI7RUFqRkEsY0FBYztFQUNkLGNiUGlCO0VhUWpCLG9CREN1RCxFQUFBO0VDQ3ZEO0lBQ0UsYWJ3R2tCLEVBQWE7O0FheEJqQztFQTVEQSxxQkFBcUI7RUFGckIsZUFBZTtFQUNmLGVBQWU7RUFHZixxQ0R4QnVEO0VDU3ZELHlCYm5CbUI7RWFvQm5CLHlCYnJCa0I7RWF5QmxCLGNidEJhO0VhcUJiLG1CYloy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QW5Ea0IsRURvR0s7O0FBTW5CO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBQUNaO0VDaENKLFFEK0JnQixFQUFBOztBbkNtRVY7RW1DbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBbkNnRUM7RW1DbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBbkNnRUM7RW1DbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBbkNnRUM7RW1DbEVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQSxFQUdYOztBbkNxRUM7RW1DdkVGO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJ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RUFBQTtNOEZsRFo7UUF5QkssZ0M5RnlCTyxFQUFBO004RmxEWjtRQTZCSyxrQzlGb0JPLEVBQUE7RThGZlo7SUFFRyxvQkFBb0I7SUFDcEIsU0FBUztJQUNULHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsZ0JBQWdCLEVBQUE7SUFFaEI7TUFDRSxhQUFhLEVBQUE7SUFUbEI7TUFhSyxXQUFXO01BQ1gsWUFBWSxFQUFBO01BRVo7UUFDRSxXQUFXO1FBQ1gsWUFBWSxFQUFBOztBQ25GdEI7RUFDRTtJQUdJLDZDQUE2QztJQUc3QywyQkFBMkI7SUFGM0IseUJBQXdCO0lBQ3hCLDRCQUE0QixFQUNEO0VoRjRDM0I7SWdGckNFLGFBQWEsRUFBQTtFQUhuQjs7SUFXTSxXQUFXLEVBQUE7RUFYakI7SUFnQkksMEJBQTBCLEVBQUE7RWhGaUM1QjtJZ0YxQkksNkJBQTZCLEVBQUE7RWhGNkJqQzs7SWdGdEJBLHlCL0Z1Q1c7SStGdENYLHdCQUF3QixFQUFBO0VoRjRCeEI7SWdGeEJBLDJCQUEyQixFQUFBO0VoRjBCM0I7O0lnRnJCQSx3QkFBd0IsRUFBQTtFakdpRTFCO0lpRzdERSwwQkFBMEIsRUFBQTtFbkR2RDlCO0ltRDJESSx3QkFBdUIsRUFBQTtFaEZvQnZCOzs7SWdGZEEsVUFBVTtJQUNWLFNBQVMsRUFBQTtFaEZxQlQ7O0lnRmhCQSx1QkFBdUIsRUFBQTtFQUd6QjtJQU1RLGNBQWM7SUFGZCxXQUFXO0lBQ1gsZUFBZSxFQUNEO0VBTXRCO0lBS00sY0FBYztJQUZkLFdBQVc7SUFDWCxlQUFlLEVBQ0QsRUFDZiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi42LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5AaW1wb3J0IHVybCguLi8uLi9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci1idW5kbGUubWluLmNzcyk7XG5AaW1wb3J0IHVybCguLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXRvYXN0LXBsdWdpbi9kaXN0L2pxdWVyeS50b2FzdC5taW4uY3NzKTtcbkBpbXBvcnQgdXJsKC4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtbGlnaHRib3gvZGlzdC9zaW1wbGVMaWdodGJveC5taW4uY3NzKTtcbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZ0YWJsZXQ9NDguODc1ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9ODBlbSZ4eGxhcmdlPTEwMy4xMjVlbSZ3aWRlPTEyMGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gIGZvbnQtZmFtaWx5OiBcImNhZWNpbGlhLXNhbnMtdGV4dFwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuZ3JpZC14ID4gLnRhYmxldC1zaHJpbmssIC5ncmlkLXggPiAudGFibGV0LWZ1bGwsIC5ncmlkLXggPiAudGFibGV0LTEsIC5ncmlkLXggPiAudGFibGV0LTIsIC5ncmlkLXggPiAudGFibGV0LTMsIC5ncmlkLXggPiAudGFibGV0LTQsIC5ncmlkLXggPiAudGFibGV0LTUsIC5ncmlkLXggPiAudGFibGV0LTYsIC5ncmlkLXggPiAudGFibGV0LTcsIC5ncmlkLXggPiAudGFibGV0LTgsIC5ncmlkLXggPiAudGFibGV0LTksIC5ncmlkLXggPiAudGFibGV0LTEwLCAuZ3JpZC14ID4gLnRhYmxldC0xMSwgLmdyaWQteCA+IC50YWJsZXQtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMSwgLmdyaWQteCA+IC54eGxhcmdlLTIsIC5ncmlkLXggPiAueHhsYXJnZS0zLCAuZ3JpZC14ID4gLnh4bGFyZ2UtNCwgLmdyaWQteCA+IC54eGxhcmdlLTUsIC5ncmlkLXggPiAueHhsYXJnZS02LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNywgLmdyaWQteCA+IC54eGxhcmdlLTgsIC5ncmlkLXggPiAueHhsYXJnZS05LCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXggPiAueHhsYXJnZS0xMSwgLmdyaWQteCA+IC54eGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmdyaWQteCA+IC53aWRlLXNocmluaywgLmdyaWQteCA+IC53aWRlLWZ1bGwsIC5ncmlkLXggPiAud2lkZS0xLCAuZ3JpZC14ID4gLndpZGUtMiwgLmdyaWQteCA+IC53aWRlLTMsIC5ncmlkLXggPiAud2lkZS00LCAuZ3JpZC14ID4gLndpZGUtNSwgLmdyaWQteCA+IC53aWRlLTYsIC5ncmlkLXggPiAud2lkZS03LCAuZ3JpZC14ID4gLndpZGUtOCwgLmdyaWQteCA+IC53aWRlLTksIC5ncmlkLXggPiAud2lkZS0xMCwgLmdyaWQteCA+IC53aWRlLTExLCAuZ3JpZC14ID4gLndpZGUtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmdyaWQteCA+IC50YWJsZXQtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC1zaHJpbmssIC5ncmlkLXggPiAudGFibGV0LTEsIC5ncmlkLXggPiAudGFibGV0LTIsIC5ncmlkLXggPiAudGFibGV0LTMsIC5ncmlkLXggPiAudGFibGV0LTQsIC5ncmlkLXggPiAudGFibGV0LTUsIC5ncmlkLXggPiAudGFibGV0LTYsIC5ncmlkLXggPiAudGFibGV0LTcsIC5ncmlkLXggPiAudGFibGV0LTgsIC5ncmlkLXggPiAudGFibGV0LTksIC5ncmlkLXggPiAudGFibGV0LTEwLCAuZ3JpZC14ID4gLnRhYmxldC0xMSwgLmdyaWQteCA+IC50YWJsZXQtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAudGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC50YWJsZXQtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnRhYmxldC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5ncmlkLXggPiAueHhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmssIC5ncmlkLXggPiAueHhsYXJnZS0xLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMiwgLmdyaWQteCA+IC54eGxhcmdlLTMsIC5ncmlkLXggPiAueHhsYXJnZS00LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNSwgLmdyaWQteCA+IC54eGxhcmdlLTYsIC5ncmlkLXggPiAueHhsYXJnZS03LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOCwgLmdyaWQteCA+IC54eGxhcmdlLTksIC5ncmlkLXggPiAueHhsYXJnZS0xMCwgLmdyaWQteCA+IC54eGxhcmdlLTExLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmdyaWQteCA+IC53aWRlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC53aWRlLXNocmluaywgLmdyaWQteCA+IC53aWRlLTEsIC5ncmlkLXggPiAud2lkZS0yLCAuZ3JpZC14ID4gLndpZGUtMywgLmdyaWQteCA+IC53aWRlLTQsIC5ncmlkLXggPiAud2lkZS01LCAuZ3JpZC14ID4gLndpZGUtNiwgLmdyaWQteCA+IC53aWRlLTcsIC5ncmlkLXggPiAud2lkZS04LCAuZ3JpZC14ID4gLndpZGUtOSwgLmdyaWQteCA+IC53aWRlLTEwLCAuZ3JpZC14ID4gLndpZGUtMTEsIC5ncmlkLXggPiAud2lkZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC53aWRlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC53aWRlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLndpZGUtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnRhYmxldC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICBtYXJnaW4tbGVmdDogLTEuNXJlbTsgfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS41cmVtOyB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudGFibGV0LXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudGFibGV0LXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudGFibGV0LXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAudGFibGV0LXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAudGFibGV0LXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAudGFibGV0LXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLndpZGUtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAud2lkZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC53aWRlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLndpZGUtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gM3JlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gM3JlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAzcmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAzcmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC50YWJsZXQtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgudGFibGV0LXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgudGFibGV0LXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgudGFibGV0LXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgudGFibGV0LXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgudGFibGV0LXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgudGFibGV0LXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgudGFibGV0LXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAzcmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAzcmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDNyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gM3JlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC53aWRlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgud2lkZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LndpZGUtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDNyZW0pOyB9IH1cblxuLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc21hbGwtcGFkZGluZy1jb2xsYXBzZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnRhYmxldC1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAudGFibGV0LW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC50YWJsZXQtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnRhYmxldC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnRhYmxldC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAudGFibGV0LTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC50YWJsZXQtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC53aWRlLW1hcmdpbi1jb2xsYXBzZSA+IC53aWRlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLndpZGUtbWFyZ2luLWNvbGxhcHNlID4gLndpZGUtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAud2lkZS1tYXJnaW4tY29sbGFwc2UgPiAud2lkZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAud2lkZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAud2lkZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS41cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNXJlbSk7IH1cbiAgLnRhYmxldC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAudGFibGV0LW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAudGFibGV0LW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC50YWJsZXQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMS41cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDEuNXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS41cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMS41cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDEuNXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS41cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC53aWRlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjVyZW0pOyB9XG4gIC53aWRlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS41cmVtKTsgfVxuICAud2lkZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAud2lkZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuNXJlbSk7IH1cbiAgLndpZGUtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLndpZGUtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjVyZW0pOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmdyaWQteSA+IC50YWJsZXQtc2hyaW5rLCAuZ3JpZC15ID4gLnRhYmxldC1mdWxsLCAuZ3JpZC15ID4gLnRhYmxldC0xLCAuZ3JpZC15ID4gLnRhYmxldC0yLCAuZ3JpZC15ID4gLnRhYmxldC0zLCAuZ3JpZC15ID4gLnRhYmxldC00LCAuZ3JpZC15ID4gLnRhYmxldC01LCAuZ3JpZC15ID4gLnRhYmxldC02LCAuZ3JpZC15ID4gLnRhYmxldC03LCAuZ3JpZC15ID4gLnRhYmxldC04LCAuZ3JpZC15ID4gLnRhYmxldC05LCAuZ3JpZC15ID4gLnRhYmxldC0xMCwgLmdyaWQteSA+IC50YWJsZXQtMTEsIC5ncmlkLXkgPiAudGFibGV0LTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteSA+IC54eGxhcmdlLTEsIC5ncmlkLXkgPiAueHhsYXJnZS0yLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMywgLmdyaWQteSA+IC54eGxhcmdlLTQsIC5ncmlkLXkgPiAueHhsYXJnZS01LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNiwgLmdyaWQteSA+IC54eGxhcmdlLTcsIC5ncmlkLXkgPiAueHhsYXJnZS04LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOSwgLmdyaWQteSA+IC54eGxhcmdlLTEwLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuZ3JpZC15ID4gLndpZGUtc2hyaW5rLCAuZ3JpZC15ID4gLndpZGUtZnVsbCwgLmdyaWQteSA+IC53aWRlLTEsIC5ncmlkLXkgPiAud2lkZS0yLCAuZ3JpZC15ID4gLndpZGUtMywgLmdyaWQteSA+IC53aWRlLTQsIC5ncmlkLXkgPiAud2lkZS01LCAuZ3JpZC15ID4gLndpZGUtNiwgLmdyaWQteSA+IC53aWRlLTcsIC5ncmlkLXkgPiAud2lkZS04LCAuZ3JpZC15ID4gLndpZGUtOSwgLmdyaWQteSA+IC53aWRlLTEwLCAuZ3JpZC15ID4gLndpZGUtMTEsIC5ncmlkLXkgPiAud2lkZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmdyaWQteSA+IC50YWJsZXQtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtc2hyaW5rLCAuZ3JpZC15ID4gLnRhYmxldC0xLCAuZ3JpZC15ID4gLnRhYmxldC0yLCAuZ3JpZC15ID4gLnRhYmxldC0zLCAuZ3JpZC15ID4gLnRhYmxldC00LCAuZ3JpZC15ID4gLnRhYmxldC01LCAuZ3JpZC15ID4gLnRhYmxldC02LCAuZ3JpZC15ID4gLnRhYmxldC03LCAuZ3JpZC15ID4gLnRhYmxldC04LCAuZ3JpZC15ID4gLnRhYmxldC05LCAuZ3JpZC15ID4gLnRhYmxldC0xMCwgLmdyaWQteSA+IC50YWJsZXQtMTEsIC5ncmlkLXkgPiAudGFibGV0LTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC50YWJsZXQtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnRhYmxldC0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAudGFibGV0LTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eGxhcmdlLTIsIC5ncmlkLXkgPiAueHhsYXJnZS0zLCAuZ3JpZC15ID4gLnh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eGxhcmdlLTUsIC5ncmlkLXkgPiAueHhsYXJnZS02LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNywgLmdyaWQteSA+IC54eGxhcmdlLTgsIC5ncmlkLXkgPiAueHhsYXJnZS05LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXkgPiAueHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC5ncmlkLXkgPiAud2lkZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtc2hyaW5rLCAuZ3JpZC15ID4gLndpZGUtMSwgLmdyaWQteSA+IC53aWRlLTIsIC5ncmlkLXkgPiAud2lkZS0zLCAuZ3JpZC15ID4gLndpZGUtNCwgLmdyaWQteSA+IC53aWRlLTUsIC5ncmlkLXkgPiAud2lkZS02LCAuZ3JpZC15ID4gLndpZGUtNywgLmdyaWQteSA+IC53aWRlLTgsIC5ncmlkLXkgPiAud2lkZS05LCAuZ3JpZC15ID4gLndpZGUtMTAsIC5ncmlkLXkgPiAud2lkZS0xMSwgLmdyaWQteSA+IC53aWRlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC53aWRlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLndpZGUtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAud2lkZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTEuNXJlbTsgfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMS41cmVtOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnRhYmxldC1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAudGFibGV0LWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAudGFibGV0LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC50YWJsZXQtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAudGFibGV0LWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueGxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAud2lkZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAud2lkZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLndpZGUtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLndpZGUtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAud2lkZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5ncmlkLXkudGFibGV0LWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmdyaWQteS53aWRlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkudGFibGV0LWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuY2VsbCAuZ3JpZC15LndpZGUtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMS41cmVtOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC50YWJsZXQtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAudGFibGV0LTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnRhYmxldC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDNyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAud2lkZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gM3JlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC53aWRlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAzcmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLndpZGUtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS50YWJsZXQtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgM3JlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDNyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkud2lkZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAzcmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJjYWVjaWxpYS1zYW5zLXRleHRcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICM4OTkzOUI7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oMiwgLmgyIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5oNSwgLmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmg2LCAuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDQuMjVyZW07IH1cbiAgaDIsIC5oMiB7XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgaDQsIC5oNCB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIGg0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzQwNzYzNjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg5OTM5QjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzg5OTM5QjsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMxYTFhMWE7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMWExYTFhO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42MjU7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG51bC5uby1idWxsZXQsIG9sLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5jaXRlLWJsb2NrLCBjaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuY2l0ZS1ibG9jazpiZWZvcmUsIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG4uY29kZS1pbmxpbmUsIGNvZGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjODk5MzlCO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxuLmNvZGUtYmxvY2sge1xuICBib3JkZXI6IDFweCBzb2xpZCAjODk5MzlCO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50YWJsZXQtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnRhYmxldC10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC50YWJsZXQtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAud2lkZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAud2lkZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC53aWRlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbixcbiNnZHByLXN1Ym1pdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjI1ZW0gMi41ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44OTVyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uLFxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gI2dkcHItc3VibWl0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b24udGlueSxcbiAgLnRpbnkjZ2Rwci1zdWJtaXQge1xuICAgIGZvbnQtc2l6ZTogMC44OTVyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCxcbiAgLnNtYWxsI2dkcHItc3VibWl0IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSxcbiAgLmxhcmdlI2dkcHItc3VibWl0IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCxcbiAgLmV4cGFuZGVkI2dkcHItc3VibWl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbiwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbixcbiAgI2dkcHItc3VibWl0LCAuYnV0dG9uLmRpc2FibGVkLFxuICAuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b25bZGlzYWJsZWRdLFxuICAjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLFxuICAuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLFxuICAjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLFxuICAuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLFxuICAjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM1MDJDO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b246aG92ZXIsXG4gICNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbjpmb2N1cyxcbiAgI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDIzYzIxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24ucHJpbWFyeSxcbiAgLnByaW1hcnkjZ2Rwci1zdWJtaXQsIC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZCxcbiAgLnByaW1hcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF0sXG4gIC5wcmltYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLFxuICAucHJpbWFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlcixcbiAgLnByaW1hcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5wcmltYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLFxuICAucHJpbWFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzUwMkM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLFxuICAucHJpbWFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzLFxuICAucHJpbWFyeSNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAyNDAyMztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSxcbiAgLnNlY29uZGFyeSNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsXG4gIC5zZWNvbmRhcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSxcbiAgLnNlY29uZGFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLFxuICAuc2Vjb25kYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsXG4gIC5zZWNvbmRhcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cyxcbiAgLnNlY29uZGFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLFxuICAuc2Vjb25kYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQwNzYzNjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlcixcbiAgLnNlY29uZGFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsXG4gIC5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzVlMmI7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzLFxuICAuc3VjY2VzcyNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLFxuICAuc3VjY2Vzcy5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSxcbiAgLnN1Y2Nlc3MjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsXG4gIC5zdWNjZXNzLmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLFxuICAuc3VjY2VzcyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cyxcbiAgLnN1Y2Nlc3MuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06Zm9jdXMsXG4gIC5zdWNjZXNzI2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2OTU0QztcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsXG4gIC5zdWNjZXNzI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMsXG4gIC5zdWNjZXNzI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg3NzNkO1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC5idXR0b24ud2FybmluZyxcbiAgLndhcm5pbmcjZ2Rwci1zdWJtaXQsIC5idXR0b24ud2FybmluZy5kaXNhYmxlZCxcbiAgLndhcm5pbmcuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF0sXG4gIC53YXJuaW5nI2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyLFxuICAud2FybmluZy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlcixcbiAgLndhcm5pbmcjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsXG4gIC53YXJuaW5nLmRpc2FibGVkI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLFxuICAud2FybmluZyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLFxuICAud2FybmluZyNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzLFxuICAud2FybmluZyNnZHByLXN1Ym1pdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAuYnV0dG9uLmFsZXJ0LFxuICAuYWxlcnQjZ2Rwci1zdWJtaXQsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsXG4gIC5hbGVydC5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sXG4gIC5hbGVydCNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIsXG4gIC5hbGVydC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsXG4gIC5hbGVydCNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5hbGVydC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06Zm9jdXMsXG4gIC5hbGVydCNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5hbGVydDpob3ZlcixcbiAgLmFsZXJ0I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzLFxuICAuYWxlcnQjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3csXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93OmhvdmVyLFxuICAuaG9sbG93I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyxcbiAgLmhvbGxvdyNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQsXG4gIC5ob2xsb3cuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkOmhvdmVyLFxuICAuaG9sbG93LmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cyxcbiAgLmhvbGxvdy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdLFxuICAuaG9sbG93I2dkcHItc3VibWl0W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLFxuICAuaG9sbG93I2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmZvY3VzLFxuICAuaG9sbG93I2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmJ1dHRvbi5ob2xsb3csXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLFxuICAuaG9sbG93LmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF0sXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlcixcbiAgLmhvbGxvdy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLFxuICAuaG9sbG93I2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5ob2xsb3cuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXTpmb2N1cyxcbiAgLmhvbGxvdyNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMzUwMkM7XG4gICAgY29sb3I6ICMwMzUwMkM7IH1cbiAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsXG4gIC5ob2xsb3cjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLFxuICAuaG9sbG93I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMjI4MTY7XG4gICAgY29sb3I6ICMwMjI4MTY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSxcbiAgLmhvbGxvdy5wcmltYXJ5I2dkcHItc3VibWl0LCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkLFxuICAuaG9sbG93LnByaW1hcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdLFxuICAuaG9sbG93LnByaW1hcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmhvdmVyLFxuICAuaG9sbG93LnByaW1hcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLFxuICAuaG9sbG93LnByaW1hcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLFxuICAuaG9sbG93LnByaW1hcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnByaW1hcnlbZGlzYWJsZWRdOmZvY3VzLFxuICAuaG9sbG93LnByaW1hcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDM1MDJDO1xuICAgIGNvbG9yOiAjMDM1MDJDOyB9XG4gIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsXG4gIC5ob2xsb3cucHJpbWFyeSNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyxcbiAgLmhvbGxvdy5wcmltYXJ5I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMjI4MTY7XG4gICAgY29sb3I6ICMwMjI4MTY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LFxuICAuaG9sbG93LnNlY29uZGFyeSNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkLFxuICAuaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5W2Rpc2FibGVkXSxcbiAgLmhvbGxvdy5zZWNvbmRhcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQ6aG92ZXIsXG4gIC5ob2xsb3cuc2Vjb25kYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnlbZGlzYWJsZWRdOmhvdmVyLFxuICAuaG9sbG93LnNlY29uZGFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cyxcbiAgLmhvbGxvdy5zZWNvbmRhcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMsXG4gIC5ob2xsb3cuc2Vjb25kYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQwNzYzNjtcbiAgICBjb2xvcjogIzQwNzYzNjsgfVxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsXG4gIC5ob2xsb3cuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsXG4gIC5ob2xsb3cuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyMDNiMWI7XG4gICAgY29sb3I6ICMyMDNiMWI7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyxcbiAgLmhvbGxvdy5zdWNjZXNzI2dkcHItc3VibWl0LCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkLFxuICAuaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdLFxuICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLFxuICAuaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmhvdmVyLFxuICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLFxuICAuaG9sbG93LnN1Y2Nlc3MuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLFxuICAuaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDY5NTRDO1xuICAgIGNvbG9yOiAjNDY5NTRDOyB9XG4gIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsXG4gIC5ob2xsb3cuc3VjY2VzcyNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyxcbiAgLmhvbGxvdy5zdWNjZXNzI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyMzRiMjY7XG4gICAgY29sb3I6ICMyMzRiMjY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyxcbiAgLmhvbGxvdy53YXJuaW5nI2dkcHItc3VibWl0LCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkLFxuICAuaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdLFxuICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmhvdmVyLFxuICAuaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLFxuICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLmRpc2FibGVkOmZvY3VzLFxuICAuaG9sbG93Lndhcm5pbmcuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uaG9sbG93Lndhcm5pbmdbZGlzYWJsZWRdOmZvY3VzLFxuICAuaG9sbG93Lndhcm5pbmcjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsXG4gIC5ob2xsb3cud2FybmluZyNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyxcbiAgLmhvbGxvdy53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQsXG4gIC5ob2xsb3cuYWxlcnQjZ2Rwci1zdWJtaXQsIC5idXR0b24uaG9sbG93LmFsZXJ0LmRpc2FibGVkLFxuICAuaG9sbG93LmFsZXJ0LmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmhvbGxvdy5hbGVydFtkaXNhYmxlZF0sXG4gIC5ob2xsb3cuYWxlcnQjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydC5kaXNhYmxlZDpob3ZlcixcbiAgLmhvbGxvdy5hbGVydC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnRbZGlzYWJsZWRdOmhvdmVyLFxuICAuaG9sbG93LmFsZXJ0I2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5ob2xsb3cuYWxlcnQuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6Zm9jdXMsIC5idXR0b24uaG9sbG93LmFsZXJ0W2Rpc2FibGVkXTpmb2N1cyxcbiAgLmhvbGxvdy5hbGVydCNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYzRiMzc7XG4gICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsXG4gIC5ob2xsb3cuYWxlcnQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLFxuICAuaG9sbG93LmFsZXJ0I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi5jbGVhcixcbiAgLmNsZWFyI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyOmhvdmVyLFxuICAuY2xlYXIjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMsXG4gIC5jbGVhciNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCxcbiAgLmNsZWFyLmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLFxuICAuY2xlYXIuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5jbGVhci5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sXG4gIC5jbGVhciNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLFxuICAuY2xlYXIjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cyxcbiAgLmNsZWFyI2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmNsZWFyLFxuICAuY2xlYXIjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsXG4gIC5jbGVhci5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sXG4gIC5jbGVhciNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6aG92ZXIsXG4gIC5jbGVhci5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsXG4gIC5jbGVhciNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5jbGVhci5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06Zm9jdXMsXG4gIC5jbGVhciNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjMDM1MDJDOyB9XG4gIC5idXR0b24uY2xlYXI6aG92ZXIsXG4gIC5jbGVhciNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyxcbiAgLmNsZWFyI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBjb2xvcjogIzAyMjgxNjsgfVxuICAuYnV0dG9uLmNsZWFyLnByaW1hcnksXG4gIC5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQsXG4gIC5jbGVhci5wcmltYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLFxuICAuY2xlYXIucHJpbWFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZDpob3ZlcixcbiAgLmNsZWFyLnByaW1hcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsXG4gIC5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkOmZvY3VzLFxuICAuY2xlYXIucHJpbWFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5jbGVhci5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyxcbiAgLmNsZWFyLnByaW1hcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzAzNTAyQzsgfVxuICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsXG4gIC5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsXG4gIC5jbGVhci5wcmltYXJ5I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBjb2xvcjogIzAyMjgxNjsgfVxuICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeSxcbiAgLmNsZWFyLnNlY29uZGFyeSNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQsXG4gIC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5W2Rpc2FibGVkXSxcbiAgLmNsZWFyLnNlY29uZGFyeSNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLFxuICAuY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsXG4gIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cyxcbiAgLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdOmZvY3VzLFxuICAuY2xlYXIuc2Vjb25kYXJ5I2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICM0MDc2MzY7IH1cbiAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIsXG4gIC5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLFxuICAuY2xlYXIuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBjb2xvcjogIzIwM2IxYjsgfVxuICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsXG4gIC5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQsXG4gIC5jbGVhci5zdWNjZXNzLmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLFxuICAuY2xlYXIuc3VjY2VzcyNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZDpob3ZlcixcbiAgLmNsZWFyLnN1Y2Nlc3MuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsXG4gIC5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkOmZvY3VzLFxuICAuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyxcbiAgLmNsZWFyLnN1Y2Nlc3MjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzQ2OTU0QzsgfVxuICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsXG4gIC5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsXG4gIC5jbGVhci5zdWNjZXNzI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBjb2xvcjogIzIzNGIyNjsgfVxuICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsXG4gIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsXG4gIC5jbGVhci53YXJuaW5nLmRpc2FibGVkI2dkcHItc3VibWl0LCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLFxuICAuY2xlYXIud2FybmluZyNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZDpob3ZlcixcbiAgLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsXG4gIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi5jbGVhci53YXJuaW5nLmRpc2FibGVkOmZvY3VzLFxuICAuY2xlYXIud2FybmluZy5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyxcbiAgLmNsZWFyLndhcm5pbmcjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIsXG4gIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMsXG4gIC5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLmNsZWFyLmFsZXJ0LFxuICAuY2xlYXIuYWxlcnQjZ2Rwci1zdWJtaXQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsXG4gIC5jbGVhci5hbGVydC5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sXG4gIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6aG92ZXIsXG4gIC5jbGVhci5hbGVydC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06aG92ZXIsXG4gIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsXG4gIC5jbGVhci5hbGVydC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF06Zm9jdXMsXG4gIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsXG4gIC5jbGVhci5hbGVydCNnZHByLXN1Ym1pdDpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cyxcbiAgLmNsZWFyLmFsZXJ0I2dkcHItc3VibWl0OmZvY3VzIHtcbiAgICBjb2xvcjogIzY3MjUxYTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLFxuICAuZGlzYWJsZWQjZ2Rwci1zdWJtaXQsIC5idXR0b25bZGlzYWJsZWRdLFxuICAjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIsXG4gIC5kcm9wZG93biNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDIuNWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlcixcbiAgLmRyb3Bkb3duLmhvbGxvdyNnZHByLXN1Ym1pdDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXI6OmFmdGVyLFxuICAuZHJvcGRvd24uY2xlYXIjZ2Rwci1zdWJtaXQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDM1MDJDOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyLFxuICAuZHJvcGRvd24uaG9sbG93LnByaW1hcnkjZ2Rwci1zdWJtaXQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyLFxuICAuZHJvcGRvd24uY2xlYXIucHJpbWFyeSNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMzUwMkM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlcixcbiAgLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeTo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5jbGVhci5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQ6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNDA3NjM2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLFxuICAuZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnN1Y2Nlc3M6OmFmdGVyLFxuICAuZHJvcGRvd24uY2xlYXIuc3VjY2VzcyNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM0Njk1NEM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cud2FybmluZzo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5ob2xsb3cud2FybmluZyNnZHByLXN1Ym1pdDo6YWZ0ZXIsIC5idXR0b24uZHJvcGRvd24uY2xlYXIud2FybmluZzo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5jbGVhci53YXJuaW5nI2dkcHItc3VibWl0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5hbGVydDo6YWZ0ZXIsXG4gIC5kcm9wZG93bi5ob2xsb3cuYWxlcnQjZ2Rwci1zdWJtaXQ6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLmFsZXJ0OjphZnRlcixcbiAgLmRyb3Bkb3duLmNsZWFyLmFsZXJ0I2dkcHItc3VibWl0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyLFxuICAuYXJyb3ctb25seSNnZHByLXN1Ym1pdDo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLFxuYSNnZHByLXN1Ym1pdDpob3ZlciwgYS5idXR0b246Zm9jdXMsXG5hI2dkcHItc3VibWl0OmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjODk5MzlCO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgyNiwgMjYsIDI2LCAwLjEpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzFhMWExYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDY5NTRDO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM0Njk1NEM7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzg5OTM5QjsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzFhMWExYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMWExYTFhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtIDAgMCAwLjM1cmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAuMzVyZW0gMC4zNXJlbSAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzg5OTM5QjtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzg5OTM5QjsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzg5OTM5QjtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzQ2OTU0QztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjNDY5NTRDO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWNlYTsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4uemYtaGFzLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOSk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLnJldmVhbCB7XG4gIHotaW5kZXg6IDEwMDY7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogM3JlbTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA5NjBweDsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogOTYwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogOTYwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogOTYwcHg7IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtOyB9XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGFibGUudW5zdHJpcGVkIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgdGFibGUudW5zdHJpcGVkIHRib2R5IHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4Ljg3Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA0OC44NzM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDguODczNzVlbSkge1xuICAuc2hvdy1mb3ItdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci10YWJsZXQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDguODczNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItdGFibGV0LW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkgYW5kIChtYXgtd2lkdGg6IDEwMy4xMjM3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDMuMTIzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSBhbmQgKG1heC13aWR0aDogMTE5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAzLjEyMzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5oaWRlLWZvci13aWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3Itd2lkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLmhpZGUtZm9yLXdpZGUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXdpZGUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmFsaWduLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi1sZWZ0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXJpZ2h0LnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC50YWJsZXQtb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYmxldC1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAudGFibGV0LW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC50YWJsZXQtb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnRhYmxldC1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAudGFibGV0LW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54bGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54bGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLnhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC53aWRlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC53aWRlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC53aWRlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC53aWRlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC53aWRlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC53aWRlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLnRhYmxldC1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAudGFibGV0LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnRhYmxldC1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC50YWJsZXQtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC50YWJsZXQtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC50YWJsZXQtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAudGFibGV0LWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAudGFibGV0LWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAueHhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54eGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLndpZGUtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLndpZGUtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAud2lkZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC53aWRlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAud2lkZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLndpZGUtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAud2lkZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLndpZGUtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbmxhYmVsLmNoZWNrYm94IGlucHV0W3R5cGU9J3JhZGlvJ10sXG5sYWJlbC5jaGVja2JveCBpbnB1dFt0eXBlPSdjaGVja2JveCddLCAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyIGksXG4uaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyIGxhYmVsLFxuLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfbWludXRlIGksXG4uaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9taW51dGUgbGFiZWwsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcmVxdWlyZWRfbGVnZW5kLFxuLnUtc2NyZWVuLXJlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApOyB9XG5cblxuLnUtY2xlYXJmaXg6OmJlZm9yZSxcbi51LWNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIG9yZGVyOiAxOyB9XG5cblxuLnUtY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnd5c2l3eWcgYTpub3QoW2hyZWYkPVwiLnBkZlwiXSlbdGFyZ2V0PSdfYmxhbmsnXTphZnRlcixcbi51LWV4dGVybmFsLWxpbms6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9leHRlcm5hbC1saW5rLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA4cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5wYWRkZWQtYmxvY2sgLnd5c2l3eWcgYTpub3QoW2hyZWYkPVwiLnBkZlwiXSlbdGFyZ2V0PSdfYmxhbmsnXTphZnRlciwgLnd5c2l3eWcgLnBhZGRlZC1ibG9jayBhOm5vdChbaHJlZiQ9XCIucGRmXCJdKVt0YXJnZXQ9J19ibGFuayddOmFmdGVyLCAucGFkZGVkLWJsb2NrXG4gIC51LWV4dGVybmFsLWxpbms6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9leHRlcm5hbC1saW5rLWFsdC5zdmdcIik7IH1cblxuXG4udS1waG90by1iZywgLmJyb2NodXJlc19faXRlbSBmaWd1cmUsIC5jYXJkX19waG90byBmaWd1cmUsIC5nYWxsZXJ5IGZpZ3VyZSwgLmhlcm8tLWxhbmRpbmcsIC5oZXJvIGZpZ3VyZSwgLm1hcCBmaWd1cmUsIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0gPiBmaWd1cmUsIC5wcm9kdWN0LWdhbGxlcnlfX3NsaWRlciAuc3dpcGVyLXNsaWRlIGZpZ3VyZSwgLnJlY2VudC11cGRhdGVzIGZpZ3VyZSxcbi51LWJnLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cblxuLnUtYmctY29udGFpbiB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cblxuLnUtYmctMTAwIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cblxuLnUtc3ZnLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDsgfVxuICAudS1zdmctY29udGFpbmVyIGltZyxcbiAgLnUtc3ZnLWNvbnRhaW5lciBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnUtc3ZnLWNvbnRhaW5lci0tbG9nbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDg5LjQwOTI5JTsgfVxuXG5cbi51LXBob3RvLWJnIHtcbiAgcGFkZGluZy1ib3R0b206IDY2LjY2NjY3JTsgfVxuICBcbiAgLnUtcGhvdG8tYmctLXNxdWFyZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cbiAgXG4gIC51LXBob3RvLWJnLS1leHRlbmQtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEwMHZ3ICsgMTAwJSArIDEuNXJlbSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIFxuICAgICAgLnUtcGhvdG8tYmctLWV4dGVuZC1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTUwdncgKyAxMDAlICsgMS41cmVtKTsgfSB9XG4gIFxuICAudS1waG90by1iZy0tZXh0ZW5kLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEwMHZ3ICsgMTAwJSArIDEuNXJlbSk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIFxuICAgICAgLnUtcGhvdG8tYmctLWV4dGVuZC1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuNXJlbSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuaHRtbCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgaHRtbCB7XG4gICAgICBmb250LXNpemU6IDEwNi4yNSU7IH0gfVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uY3JldGVfc2VhbWxlc3MucG5nXCIpO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIGJvZHkuYWRtaW4tYmFyIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDZweCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIGJvZHkuYWRtaW4tYmFyIHtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpOyB9IH1cblxuYSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbmxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICM0MDc2MzY7IH1cblxuZmlndXJlW2RhdGEtYmddIHtcbiAgb3BhY2l0eTogMDsgfVxuICBmaWd1cmVbZGF0YS1iZ10sXG4gIGZpZ3VyZVtkYXRhLWJnXSArIGZpZ3VyZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0OyB9XG4gIGZpZ3VyZVtkYXRhLWJnXS5sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICBmaWd1cmVbZGF0YS1iZ10ubG9hZGVkIH4gLmxvYWRlcixcbiAgICBmaWd1cmVbZGF0YS1iZ10ubG9hZGVkICsgZmlndXJlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cblxucC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi53b29jb21tZXJjZS1icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMC4wMWVtIGN1cnJlbnRDb2xvcjtcbiAgLyogb3IgMC4wMWVtIG1pZ2h0IGJlIGJldHRlciAqL1xuICBtYXJnaW46IDAgMCAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAud29vY29tbWVyY2UtYnJlYWRjcnVtYiA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC53b29jb21tZXJjZS1icmVhZGNydW1iID4gLmhueS1zdmcge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH0gfVxuXG4uYnV0dG9uLWdyb3VwLS1jZW50ZXJlZCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbixcbiAgLmJ1dHRvbi1ncm91cCAjZ2Rwci1zdWJtaXQge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmJ1dHRvbi1ncm91cCAuYnV0dG9uICsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAjZ2Rwci1zdWJtaXQgKyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b24gKyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdCArIC5idXR0b24sXG4uYnV0dG9uLWdyb3VwIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4uYnV0dG9uLWdyb3VwIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4uYnV0dG9uLWdyb3VwICNnZHByLXN1Ym1pdCArICNnZHByLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiArIC5idXR0b24sIC5idXR0b24tZ3JvdXAgI2dkcHItc3VibWl0ICsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uICsgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAjZ2Rwci1zdWJtaXQgKyAuYnV0dG9uLFxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiArICNnZHByLXN1Ym1pdCxcbiAgICAuYnV0dG9uLWdyb3VwIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4gICAgLmJ1dHRvbi1ncm91cCAjZ2Rwci1zdWJtaXQgKyAjZ2Rwci1zdWJtaXQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH0gfVxuXG5idXR0b24sIC5idXR0b24sIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b24sXG4jZ2Rwci1zdWJtaXQge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uYnV0dG9uLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxuI2dkcHItc3VibWl0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZlZmVmZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogIzAzNTAyQztcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTI1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTEpLCAwIDFweCAzcHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmJ1dHRvbiAuaG55LXN2ZywgI2dkcHItc3VibWl0IC5obnktc3ZnIHtcbiAgICB3aWR0aDogMS43NWVtO1xuICAgIGhlaWdodDogMS43NWVtO1xuICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gICAgLmJ1dHRvbiAuaG55LXN2ZyArIHNwYW4sICNnZHByLXN1Ym1pdCAuaG55LXN2ZyArIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLmJ1dHRvbiBzcGFuICsgLmhueS1zdmcsICNnZHByLXN1Ym1pdCBzcGFuICsgLmhueS1zdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5idXR0b246YWZ0ZXIsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b246YWZ0ZXIsXG4gICNnZHByLXN1Ym1pdDphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNpdGlvbjogMzAwbXM7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsICMzMDU5MjkgMCUsIHJnYmEoNywgMTgzLCAxMDEsIDAuODUpIDk1JSk7XG4gICAgY29udGVudDogJyc7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5idXR0b246aG92ZXIgLmhueS1zdmcsICNnZHByLXN1Ym1pdDpob3ZlciAuaG55LXN2ZyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuYnV0dG9uOmhvdmVyOmFmdGVyLFxuICAjZ2Rwci1zdWJtaXQ6aG92ZXI6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnksXG4gIC5zZWNvbmRhcnkjZ2Rwci1zdWJtaXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4OTkzOUI7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTphZnRlcixcbiAgICAuc2Vjb25kYXJ5I2dkcHItc3VibWl0OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI2LCAyNiwgMjYsIDAuNSkgMCUsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC40KSA3NSUpOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsXG4gICAgLnNlY29uZGFyeSNnZHByLXN1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhOyB9XG4gIC5idXR0b24uc3VjY2VzcyxcbiAgLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLFxuICAgIC5zdWNjZXNzI2dkcHItc3VibWl0OmZvY3VzLCAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsXG4gICAgLnN1Y2Nlc3MjZ2Rwci1zdWJtaXQ6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi50aW55LFxuICAudGlueSNnZHByLXN1Ym1pdCB7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5idXR0b24uaXMtbG9hZGluZyA+IHNwYW46bm90KC5sb2FkZXIpLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuaXMtbG9hZGluZy5idXR0b24gPiBzcGFuOm5vdCgubG9hZGVyKSwgLmlzLWxvYWRpbmcjZ2Rwci1zdWJtaXQgPiBzcGFuOm5vdCgubG9hZGVyKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmJ1dHRvbi5pcy1sb2FkaW5nID4gc3Bhbi5sb2FkZXIsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5pcy1sb2FkaW5nLmJ1dHRvbiA+IHNwYW4ubG9hZGVyLCAuaXMtbG9hZGluZyNnZHByLXN1Ym1pdCA+IHNwYW4ubG9hZGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmJ1dHRvbiAubG9hZGVyLCAjZ2Rwci1zdWJtaXQgLmxvYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaXMtbW9iaWxlLW5hdi1vcGVuIC5pcy1kcmlsbGRvd24ge1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAuaXMtZHJpbGxkb3duICoge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biAuZHJpbGxkb3duIGEge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgLmlzLWRyaWxsZG93biAuZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5pcy1kcmlsbGRvd24gLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTpmb2N1czpBZnRlciwgLmlzLWRyaWxsZG93biAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmhvdmVyOkFmdGVyIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogY3VycmVudENvbG9yOyB9XG4gIC5pcy1kcmlsbGRvd24gLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmlzLWRyaWxsZG93biAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5pcy1kcmlsbGRvd24gLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxubGFiZWwuY2hlY2tib3ggc3BhbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBsYWJlbC5jaGVja2JveCBzcGFuOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGNvbnRlbnQ6IFwiXCI7IH1cblxubGFiZWwuY2hlY2tib3ggaW5wdXRbdHlwZT0ncmFkaW8nXSArIHNwYW46YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbmxhYmVsLmNoZWNrYm94IGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIHNwYW46YmVmb3JlLFxubGFiZWwuY2hlY2tib3ggaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgc3BhbjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICMwMzUwMkM7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDVweCAjMDM1MDJDIGluc2V0OyB9XG5cbnNlbGVjdCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW0gMC41cmVtIDAuNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5obnkgLmdmX2Jyb3dzZXJfaWUuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbixcbi5obnkgLmdmX2Jyb3dzZXJfaWUuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0I2dkcHItc3VibWl0IHtcbiAgcGFkZGluZzogMS4yNWVtIDIuNWVtOyB9XG5cbi5obnkgLmdmb3JtX3dyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgaDEsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgaDIsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogMCAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9zYWZhcmkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBmb3JtOjpiZWZvcmUsIC5obnkgLmdmb3JtX3dyYXBwZXIgZm9ybTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgZm9ybTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9odG1sIHRhYmxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2h0bWwgdGFibGUgKiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LWZhbWlseTogXCJjYWVjaWxpYS1zYW5zLXRleHRcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9odG1sIHRhYmxlIHRoIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4ICFpbXBvcnRhbnQ7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfaHRtbCB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlICFpbXBvcnRhbnQ7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODk5MzlCO1xuICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGguc3Ryb25nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0Njk1NEM7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5nb29kIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5taXNtYXRjaCwgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoLnNob3J0LCAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGguYmFkIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGgzLmdmb3JtX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdzZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgKyAuZ3NlY3Rpb24sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZtYy1jb2x1bW4gKyAuZ3NlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgIGNvbG9yOiAjMDM1MDJDO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtZmFtaWx5OiBcImNhZWNpbGlhLXNhbnMtdGV4dFwiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJEcm9pZCBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0IHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgc3Bhbi5naW5wdXRfcHJvZHVjdF9wcmljZSwgLmhueSAuZ2Zvcm1fd3JhcHBlciBzcGFuLmdpbnB1dF90b3RhbCB7XG4gICAgY29sb3I6ICM0Njk1NEM7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2hvdXIsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX21pbnV0ZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDRyZW0gKyAuNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyIGlucHV0LFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX21pbnV0ZSBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4ICFpbXBvcnRhbnQ7IH0gfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICM4YThhOGE7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2JlbG93IC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRleHRyYXMge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9jYXJkX3NlY3VyaXR5X2NvZGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZmllbGQge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkOm5vdCguZ2ZpZWxkX3Zpc2liaWxpdHlfaGlkZGVuKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfbGFiZWwge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9J2ZpbGUnXSkge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9xdWFudGl0eSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHdpZHRoOiA0LjI1cmVtOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2JlbG93IC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIGxhYmVsLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9hYm92ZSAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gICAgY29sb3I6ICM4YThhOGE7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLCAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyBsaSBsYWJlbCxcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGxhYmVsLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNjI1cmVtO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIGxpIGxhYmVsOmJlZm9yZSxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgbGFiZWw6YmVmb3JlLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC4yZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIGxpIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyBsaSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyBsaSBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIGxpIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDM1MDJDO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDVweCAjMDM1MDJDIGluc2V0OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyBsaSBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIGxpIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGxhYmVsOmJlZm9yZSxcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWw6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9saXN0IHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9saXN0IHRkLmdmaWVsZF9saXN0X2NlbGwgaW5wdXQsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9saXN0IHRkLmdmaWVsZF9saXN0X2NlbGwgc2VsZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaSB1bC5nZmllbGRfcmFkaW8sIC5obnkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaSB1bC5nZmllbGRfY2hlY2tib3gge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgZGl2LnZhbGlkYXRpb25fZXJyb3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgZGl2LmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCBpbnB1dC5tZWRpdW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9wcmV2aWV3IGltZzpub3QoLmdmb3JtX2RlbGV0ZSkge1xuICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBsYWJlbCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGxhYmVsOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCA+IGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmhpZGRlbl9sYWJlbCBsYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5oaWRkZW5fbGFiZWwgaW5wdXQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHNlbGVjdCB7XG4gICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50OyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgc2VsZWN0LFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHRleHRhcmVhLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgc2VsZWN0ICsgbGFiZWwsXG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCB0ZXh0YXJlYSArIGxhYmVsLFxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgaW5wdXQgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIHRleHRhcmVhIHtcbiAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OyB9XG4gICAgICAubm8tbWF4LWhlaWdodCAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCB0ZXh0YXJlYSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7IH1cbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAuaG55IC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3Igc2VsZWN0LFxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhLFxuICAgICAgLmhueSAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0zcHggMCAwICNjYzRiMzc7IH1cbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2Fib3ZlIC5nZmllbGRfZGVzY3JpcHRpb24udmFsaWRhdGlvbl9tZXNzYWdlLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IC5nZmllbGRfZGVzY3JpcHRpb24udmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBjb2xvcjogI2NjNGIzNztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2Fib3ZlIC5pbnN0cnVjdGlvbixcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgLmluc3RydWN0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfZGF0ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIGltZy51aS1kYXRlcGlja2VyLXRyaWdnZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMC41cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgaW5wdXQubGFyZ2UuZGF0ZXBpY2tlciwgLmhueSAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGlucHV0Lm1lZGl1bS5kYXRlcGlja2VyLCAuaG55IC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgaW5wdXQuc21hbGwuZGF0ZXBpY2tlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYWpheF9zcGlubmVyLFxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybS1sb2FkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbiArIC5idXR0b24sIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyICNnZHByLXN1Ym1pdCArIC5idXR0b24sIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b24gKyAuYnV0dG9uLCAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAjZ2Rwci1zdWJtaXQgKyAuYnV0dG9uLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbiArICNnZHByLXN1Ym1pdCxcbiAgICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAjZ2Rwci1zdWJtaXQgKyAjZ2Rwci1zdWJtaXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fYnV0dG9uLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9idXR0b24jZ2Rwci1zdWJtaXQsIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX25leHRfYnV0dG9uI2dkcHItc3VibWl0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLFxuICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24jZ2Rwci1zdWJtaXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaG55IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5kZW5vdGVzLXJlcXVpcmVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICM4YThhOGE7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAuZGVub3Rlcy1yZXF1aXJlZDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgICAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dCNnZHByLXN1Ym1pdCxcbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC5idXR0b24sXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciAjZ2Rwci1zdWJtaXQsXG4gIC5obnkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg5OTM5QjtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9J2ZpbGUnXSkuY2hvc2VuLXNlYXJjaC1pbnB1dCB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUgLmNob3Nlbi1jaG9pY2VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNDY5NTRDO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmhueSAuZ2Zvcm1fd3JhcHBlciAuaG55LWRhdGUtdGltZS1saXN0IHRhYmxlIHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmhueS1kYXRlLXRpbWUtbGlzdCB0YWJsZSB0ciB0ZCB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gICAgICAgIC5obnkgLmdmb3JtX3dyYXBwZXIgLmhueS1kYXRlLXRpbWUtbGlzdCB0YWJsZSB0ciB0ZCArIHRkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uaG55IC5nZm9ybV9kZWxldGUge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLmhueSAuZ3JlY2FwdGNoYS1iYWRnZSB7XG4gIHotaW5kZXg6IDk5OTk5OTk7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuMjVlbSAyLjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg5NXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXSB7XG4gICAgb3V0bGluZTogMDsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl0sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXS5kaXNhYmxlZCwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdW2Rpc2FibGVkXSwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdLmRpc2FibGVkOmhvdmVyLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl1bZGlzYWJsZWRdOmhvdmVyLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl0uZGlzYWJsZWQ6Zm9jdXMsIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZm9ybV9zYXZlZF9tZXNzYWdlIGlucHV0W25hbWU9XCJnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvblwiXVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzUwMkM7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdOmhvdmVyLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmZvcm1fc2F2ZWRfbWVzc2FnZSBpbnB1dFtuYW1lPVwiZ2Zvcm1fc2VuZF9yZXN1bWVfbGlua19idXR0b25cIl06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjNjMjE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgLnJlc3VtZV9mb3JtX2xpbmtfd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5mb3JtX3NhdmVkX21lc3NhZ2UgLnJlc3VtZV9mb3JtX2xpbmtfd3JhcHBlciB+IHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQge1xuICBjb2xvcjogIzAzNTAyQzsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluay5idXR0b246Zm9jdXMsXG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rI2dkcHItc3VibWl0OmZvY3VzLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluay5idXR0b246aG92ZXIsXG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rI2dkcHItc3VibWl0OmhvdmVyIHtcbiAgICBjb2xvcjogIzAyNDAyMzsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluaywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQge1xuICBvcmRlcjogMTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDAgMCAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbms6YmVmb3JlLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluazphZnRlciwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uOmJlZm9yZSxcbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQ6YmVmb3JlLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluay5idXR0b246YWZ0ZXIsXG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rI2dkcHItc3VibWl0OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rIHN2ZywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uIHN2ZywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsjZ2Rwci1zdWJtaXQgc3ZnIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmssIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fc2F2ZV9saW5rLmJ1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluayNnZHByLXN1Ym1pdCB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIG9yZGVyOiAxMDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMC41cmVtIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkX3NpZ25hdHVyZV9jb250YWluZXIge1xuICB3aWR0aDogMTAwdncgIWltcG9ydGFudDsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9zaWduYXR1cmVfY29udGFpbmVyICsgZGl2IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzID4gaDIge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogI2NjNGIzNztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LWZhbWlseTogXCJjYWVjaWxpYS1zYW5zLXRleHRcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzID4gaDIgLmdmb3JtLWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAudmFsaWRhdGlvbl9tZXNzYWdlLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5pbnN0cnVjdGlvbixcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkX3ZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgcGFkZGluZzogMC41cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLnZhbGlkYXRpb25fbWVzc2FnZSxcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuaW5zdHJ1Y3Rpb24sXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6ICNmYmYxZWY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjY2M0YjM3O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLnZhbGlkYXRpb25fbWVzc2FnZSxcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkX3ZhbGlkYXRpb25fbWVzc2FnZSxcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZGVzY3JpcHRpb24sXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9kZXNjcmlwdGlvbixcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuaW5zdHJ1Y3Rpb24ge1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwgbGFiZWwsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZF9lcnJvciBsYWJlbCxcbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkX2Vycm9yIGxlZ2VuZCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkX2Vycm9yIFthcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdICsgbGFiZWwsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgbGFiZWwgKyBbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIHNlbGVjdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZC0tdHlwZS1jaG9pY2U6bm90KC5nZl9saXN0X2lubGluZSkgLmdjaG9pY2UgKyAuZ2Nob2ljZSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZC5maWVsZF9zdWJsYWJlbF9hYm92ZSAuZ2lucHV0X2NvbXBsZXggbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdpbnB1dF9jb21wbGV4IGxhYmVsIHtcbiAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZmllbGQgLmdmaWVsZF9sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIGNvbG9yOiAjMWExYTFhO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQsXG5odG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2Nob2ljZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IGlucHV0LFxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2Nob2ljZSBpbnB1dCB7XG4gICAgbWFyZ2luOiAwIDAuNWVtIDAgMDsgfVxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQgaW5wdXQgKyBsYWJlbCxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmaWVsZCAuZ2Nob2ljZSBpbnB1dCArIGxhYmVsIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyLFxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbixcbiAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgI2dkcHItc3VibWl0LFxuICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24sXG4gIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgI2dkcHItc3VibWl0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbjpmaXJzdC1jaGlsZC5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyICNnZHByLXN1Ym1pdDpmaXJzdC1jaGlsZC5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbjpmaXJzdC1jaGlsZC5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgI2dkcHItc3VibWl0OmZpcnN0LWNoaWxkLmdmb3JtX25leHRfYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfSB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbjpub3QoLmdmb3JtX3NhdmVfbGluayksXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgI2dkcHItc3VibWl0Om5vdCguZ2Zvcm1fc2F2ZV9saW5rKSxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b246bm90KC5nZm9ybV9zYXZlX2xpbmspLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgI2dkcHItc3VibWl0Om5vdCguZ2Zvcm1fc2F2ZV9saW5rKSB7XG4gICAgICBmbGV4OiAxIDE7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b246bm90KC5nZm9ybV9zYXZlX2xpbmspLFxuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAjZ2Rwci1zdWJtaXQ6bm90KC5nZm9ybV9zYXZlX2xpbmspLFxuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b246bm90KC5nZm9ybV9zYXZlX2xpbmspLFxuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyICNnZHByLXN1Ym1pdDpub3QoLmdmb3JtX3NhdmVfbGluaykge1xuICAgICAgICAgIGZsZXg6IDAgMSBhdXRvOyB9IH1cbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLmdmb3JtX2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uI2dkcHItc3VibWl0LCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9uZXh0X2J1dHRvbiNnZHByLXN1Ym1pdCxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fYnV0dG9uLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX2J1dHRvbiNnZHByLXN1Ym1pdCxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Zvcm1fbmV4dF9idXR0b24jZ2Rwci1zdWJtaXQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyICNnZHByLXN1Ym1pdFt0eXBlPVwic3VibWl0XCJdLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgI2dkcHItc3VibWl0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgb3JkZXI6IDM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSArIC5nZm9ybV9zYXZlX2xpbmssIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSArIC5nZm9ybV9zYXZlX2xpbmssIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyICNnZHByLXN1Ym1pdFt0eXBlPVwic3VibWl0XCJdICsgLmdmb3JtX3NhdmVfbGluayxcbiAgICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0gKyAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b25bdHlwZT1cInN1Ym1pdFwiXSArIC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgI2dkcHItc3VibWl0W3R5cGU9XCJzdWJtaXRcIl0gKyAuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfSB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fbmV4dF9idXR0b24jZ2Rwci1zdWJtaXQsXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX25leHRfYnV0dG9uI2dkcHItc3VibWl0IHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uICsgLmdmb3JtX3NhdmVfbGluaywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX25leHRfYnV0dG9uLmJ1dHRvbiArIC5nZm9ybV9zYXZlX2xpbmssIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9uZXh0X2J1dHRvbiNnZHByLXN1Ym1pdCArIC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24gKyAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuZ2Zvcm1fbmV4dF9idXR0b24uYnV0dG9uICsgLmdmb3JtX3NhdmVfbGluayxcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX25leHRfYnV0dG9uI2dkcHItc3VibWl0ICsgLmdmb3JtX3NhdmVfbGluayB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24sXG4gICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiNnZHByLXN1Ym1pdCxcbiAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLFxuICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiNnZHByLXN1Ym1pdCB7XG4gICAgICBvcmRlcjogLTE7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB+IC5nZm9ybV9uZXh0X2J1dHRvbiwgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi5idXR0b24gfiAuZ2Zvcm1fbmV4dF9idXR0b24sIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24jZ2Rwci1zdWJtaXQgfiAuZ2Zvcm1fbmV4dF9idXR0b24sXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIH4gLmdmb3JtX25leHRfYnV0dG9uLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLmJ1dHRvbiB+IC5nZm9ybV9uZXh0X2J1dHRvbixcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiNnZHByLXN1Ym1pdCB+IC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIH4gLmdmb3JtX3NhdmVfbGluaywgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi5idXR0b24gfiAuZ2Zvcm1fc2F2ZV9saW5rLCBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uI2dkcHItc3VibWl0IH4gLmdmb3JtX3NhdmVfbGluayxcbiAgICAgIGh0bWwgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24gfiAuZ2Zvcm1fc2F2ZV9saW5rLFxuICAgICAgaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3RlciAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLmJ1dHRvbiB+IC5nZm9ybV9zYXZlX2xpbmssXG4gICAgICBodG1sIC5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24jZ2Rwci1zdWJtaXQgfiAuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuaHRtbCAuZ2Zvcm1fd3JhcHBlci5ncmF2aXR5LXRoZW1lIC5nZm9ybS1sb2FkZXIge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uZ3JpZC1jb250YWluZXItLWZ1bGwge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmdyaWQtY29udGFpbmVyLS1uYXJyb3cge1xuICBtYXgtd2lkdGg6IDkzMy4zMzMzM3B4OyB9XG5cbi5ncmlkLWNvbnRhaW5lci0tc2xpbSB7XG4gIG1heC13aWR0aDogNzY3cHg7IH1cblxuLmdyaWQtY29udGFpbmVyLS13aWRlIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi5obnkgLmdyaWQtY29udGFpbmVyIC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH1cbiAgLmhueSAuZ3JpZC1jb250YWluZXIgLmdyaWQtcGFkZGluZy14LS1zbWFsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07IH1cbiAgICAuaG55IC5ncmlkLWNvbnRhaW5lciAuZ3JpZC1wYWRkaW5nLXgtLXNtYWxsID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5obnkgLmdyaWQtY29udGFpbmVyIC5ncmlkLXBhZGRpbmcteC0tbGFyZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtM3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTsgfVxuICAgICAgLmhueSAuZ3JpZC1jb250YWluZXIgLmdyaWQtcGFkZGluZy14LS1sYXJnZSA+IC5jZWxsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9IH1cblxuLmNlbGwtLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiAjMDM1MDJDO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDQxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaDEgLmhlYWRpbmdfX3N1YmhlYWRpbmcsXG5oMiAuaGVhZGluZ19fc3ViaGVhZGluZyxcbmg1IC5oZWFkaW5nX19zdWJoZWFkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5oMSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7IH1cbiAgaDEgLmhlYWRpbmdfX3N1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMC41ZW07IH1cblxuaDIgLmhlYWRpbmdfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5oNSB7XG4gIGNvbG9yOiAjNDY5NTRDO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07IH1cbiAgaDUgLmhlYWRpbmdfX3N1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMC44OTVlbTsgfVxuXG5oNiB7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4uaGVhZGluZ19fcHJlaGVhZGluZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5oNC5oZWFkaW5nIC5oZWFkaW5nX19wcmVoZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhueS1zdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjhlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjsgfVxuICAuaG55LXN2ZyBwYXRoIHtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cblxuLmwtaGVybyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmwtbWFpbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWNoZWNrb3V0IC5sLW1haW4sXG4gIC5jb250ZW50LWNlbnRlcmVkIC5sLW1haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLmwtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG4gIC5sLWNvbnRhaW5lci0tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9XG4gICAgLmhlcm8tLWxhbmRpbmcgLmwtY29udGFpbmVyLS1sYXJnZSB7XG4gICAgICBwYWRkaW5nLXRvcDogN3JlbTsgfVxuICAubC1jb250YWluZXItLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDEwcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHJlbTsgfVxuXG4ubC1mb290ZXIge1xuICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIC5sLWZvb3RlciAucHJvZHVjdC1jYXRlZ29yaWVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTsgfVxuICAgIC5sLWZvb3RlciAucHJvZHVjdC1jYXRlZ29yaWVzIC5jZWxsOmxhc3QtY2hpbGQgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNTAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sLWZvb3RlciAucHJvZHVjdC1jYXRlZ29yaWVzIC5jZWxsOm50aC1sYXN0LWNoaWxkKDIpIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNTAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmwtZm9vdGVyIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtNTAlOyB9IH1cbiAgICAubC1mb290ZXIgLnByb2R1Y3QtY2F0ZWdvcmllcyArIC5zaXRlLWZvb3RlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNnJlbTsgfVxuXG4uaXMtY2hlY2tvdXQgLnBhZ2UtY29udGVudCxcbi5jb250ZW50LWNlbnRlcmVkIC5wYWdlLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7IH1cblxuLmNvbnRlbnQtY2VudGVyZWQuZXJyb3I0MDQgLnBhZ2UtY29udGVudCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5jb250ZW50LWNlbnRlcmVkIC5wYWdlLWNvbnRlbnQgLmNoZWNrb3V0LCAuY29udGVudC1jZW50ZXJlZFxuLnBhZ2UtY29udGVudCAuZm91ci1vaC1mb3VyLCAuY29udGVudC1jZW50ZXJlZFxuLnBhZ2UtY29udGVudCAuY29udGVudC1ibG9ja3Mge1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4ucGFnaW5hdGlvbl9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4ucGFnaW5hdGlvbiB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogM3JlbSAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wYWdpbmF0aW9uIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5wYWdpbmF0aW9uIHVsIGxpIGEsXG4gICAgLnBhZ2luYXRpb24gdWwgbGkgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5wYWdpbmF0aW9uIHVsIGxpIGEubmV4dCAuaG55LXN2ZywgLnBhZ2luYXRpb24gdWwgbGkgYS5wcmV2IC5obnktc3ZnLFxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgc3Bhbi5uZXh0IC5obnktc3ZnLFxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgc3Bhbi5wcmV2IC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogIzQ4NDg0ODsgfVxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgYS5uZXh0OmZvY3VzIC5obnktc3ZnLCAucGFnaW5hdGlvbiB1bCBsaSBhLm5leHQ6aG92ZXIgLmhueS1zdmcsIC5wYWdpbmF0aW9uIHVsIGxpIGEucHJldjpmb2N1cyAuaG55LXN2ZywgLnBhZ2luYXRpb24gdWwgbGkgYS5wcmV2OmhvdmVyIC5obnktc3ZnLFxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgc3Bhbi5uZXh0OmZvY3VzIC5obnktc3ZnLFxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgc3Bhbi5uZXh0OmhvdmVyIC5obnktc3ZnLFxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgc3Bhbi5wcmV2OmZvY3VzIC5obnktc3ZnLFxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgc3Bhbi5wcmV2OmhvdmVyIC5obnktc3ZnIHtcbiAgICAgICAgZmlsbDogIzAzNTAyQzsgfVxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgYS5jdXJyZW50LFxuICAgICAgLnBhZ2luYXRpb24gdWwgbGkgc3Bhbi5jdXJyZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgICAgLnBhZ2luYXRpb24gdWwgbGkgYS5jdXJyZW50OmFmdGVyLFxuICAgICAgICAucGFnaW5hdGlvbiB1bCBsaSBzcGFuLmN1cnJlbnQ6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZWZlZmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTEpLCAwIDFweCAzcHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5wYWdpbmF0aW9uIHVsIGxpLnBhZ2luYXRpb24tcHJldmlvdXMgPiBhLCAucGFnaW5hdGlvbiB1bCBsaS5wYWdpbmF0aW9uLW5leHQgPiBhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5yZXZlYWwge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDE4cHggMTQwcHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfSB9XG4gIC5yZXZlYWwgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucmV2ZWFsIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgY29sb3I6ICMwMzUwMkM7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5yZXZlYWwgLmNsb3NlLWJ1dHRvbiAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDsgfVxuICAucmV2ZWFsIC5jbG9zZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5yZXZlYWwgLmNsb3NlLWxpbmsgYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAjNDA3NjM2O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5yZXZlYWwgLmNsb3NlLWxpbmsgYnV0dG9uOmZvY3VzLCAucmV2ZWFsIC5jbG9zZS1saW5rIGJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5yZXZlYWxfX2NhcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmV2ZWFsX19jYXJ0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLnJldmVhbF9fY2FydCAuaG55LWNhcnRfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfVxuXG4uc2xiRWxlbWVudCAqIHtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuXG4uc2xiT3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KTtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNsYkltYWdlV3JhcDphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xNSk7IH1cblxuLnNsYkFycm93IHtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAwIDAuNXJlbSAwIDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICBib3gtc2hhZG93OiAwIDE4cHggMzVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xNSk7XG4gIG9wYWNpdHk6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNsYkFycm93OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDQwJTtcbiAgICB3aWR0aDogNDAlO1xuICAgIGhlaWdodDogNDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgd2hpdGU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLnNsYkFycm93LnByZXYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG4gICAgLnNsYkFycm93LnByZXY6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwJSwgMCkgcm90YXRlKC0xMzVkZWcpOyB9XG4gIC5zbGJBcnJvdzpob3ZlciwgLnNsYkFycm93OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNlZmVmZWY7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnNsYkFycm93OmhvdmVyOmJlZm9yZSwgLnNsYkFycm93OmZvY3VzOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICMwMzUwMkM7IH1cblxuLnNsaWNrLXNsaWRlcixcbi5zbGljay1zbGlkZXIgKiB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5bZGF0YS1zbGljay1zbGlkZXJdIFtkYXRhLXNsaWNrLXNsaWRlXTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtc2xpY2stc2xpZGVyXS5zbGljay1pbml0aWFsaXplZCBbZGF0YS1zbGljay1zbGlkZV0ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5bZGF0YS1zbGljay1zbGlkZXJdLnNsaWNrLWluaXRpYWxpemVkICsgLmxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNsaWNrLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXRvcDogLTEycHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG4gIC5zbGljay1hcnJvdywgLnNsaWNrLWFycm93OmZvY3VzLCAuc2xpY2stYXJyb3c6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLnNsaWNrLWFycm93IHN2ZyB7XG4gICAgZmlsbDogIzAzNTAyQzsgfVxuICAuc2xpY2stYXJyb3cuc2xpY2stZGlzYWJsZWQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiAtMC4yNXJlbTsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMC4yNXJlbTsgfVxuXG4uanEtdG9hc3Qtc2luZ2xlIHtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgyNiwgMjYsIDI2LCAwLjEpLCAwIDZweCAxMnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4wOCk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmpxLXRvYXN0LXNpbmdsZSAuaG55LW5vdGljZSB7XG4gICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgLmpxLXRvYXN0LXNpbmdsZSAuaG55LW5vdGljZS0tc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDcwLCAxNDksIDc2LCAwLjkpOyB9XG4gICAgLmpxLXRvYXN0LXNpbmdsZSAuaG55LW5vdGljZS0tZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyMDQsIDc1LCA1NSwgMC45KTsgfVxuXG4uaG55LW1lc3NhZ2Uge1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoNzAsIDE0OSwgNzYsIDAuOSk7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xKSwgMCA2cHggMTJweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICAuaG55LW1lc3NhZ2UgYSwgLmhueS1tZXNzYWdlIGE6Zm9jdXMsIC5obnktbWVzc2FnZSBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ud3lzaXd5ZyBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4ud3lzaXd5ZyBoMSxcbi53eXNpd3lnIGgyLFxuLnd5c2l3eWcgaDMsXG4ud3lzaXd5ZyBoNCxcbi53eXNpd3lnIGg1LFxuLnd5c2l3eWcgaDYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnd5c2l3eWcgLmFsaWdubGVmdCB7XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi53eXNpd3lnIC5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEwcHggYXV0bzsgfVxuXG4ud3lzaXd5ZyAuYWxpZ25yaWdodCB7XG4gIG1hcmdpbjogMC41cmVtIDAgMC41cmVtIDFyZW07XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ud3lzaXd5ZyAuYWxpZ25ub25lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMC41cmVtIDA7IH1cblxuLnd5c2l3eWcgLmdhbGxlcnkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC53eXNpd3lnIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAwLjE2NjY2NjY2NyU7XG4gICAgbWFyZ2luOiAwIDAgMiU7IH1cbiAgICAud3lzaXd5ZyAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC53eXNpd3lnIC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0gYSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ud3lzaXd5ZyA+IHVsOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5nZmllbGRfY2hlY2tib3gpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnd5c2l3eWcgPiB1bDpub3QoLmNoZWNrbGlzdCk6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KSBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAgIC53eXNpd3lnID4gdWw6bm90KC5jaGVja2xpc3QpOm5vdCguZ2Zvcm1fZmllbGRzKTpub3QoLmdmaWVsZF9jaGVja2JveCkgbGkgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAud3lzaXd5ZyA+IHVsOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5nZmllbGRfY2hlY2tib3gpIGxpOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwLjRlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJhY2tncm91bmQ6ICM0MDc2MzY7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAud3lzaXd5ZyA+IHVsOm5vdCguY2hlY2tsaXN0KTpub3QoLmdmb3JtX2ZpZWxkcyk6bm90KC5nZmllbGRfY2hlY2tib3gpIHVsIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLnd5c2l3eWcgPiB1bDpub3QoLmNoZWNrbGlzdCk6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KSB1bCBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfVxuICAgICAgLnd5c2l3eWcgPiB1bDpub3QoLmNoZWNrbGlzdCk6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KSB1bCBsaTpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjODk5MzlCO1xuICAgICAgICBjb250ZW50OiAnJzsgfVxuXG4ud3lzaXd5ZyAud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC44cmVtOyB9XG5cbi53eXNpd3lnIHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgcGFkZGluZzogMC42MjVyZW0gMDtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogOTAlOyB9XG5cbi5mb3VyLW9oLWZvdXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMTUwcHggKyAxLjVyZW0pOyB9IH1cblxuLmFydGljbGVfX3RodW1ibmFpbCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hcnRpY2xlX190aHVtYm5haWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4uYmFjay10by10b3Age1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDAuNXJlbTtcbiAgYm90dG9tOiAwLjVyZW07XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6ICMwMzUwMkM7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3gtc2hhZG93OiAwIDE4cHggMzVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xNSk7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTk5OTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5iYWNrLXRvLXRvcCB7XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIGJvdHRvbTogMXJlbTtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4OyB9IH1cbiAgLmJhY2stdG8tdG9wOmhvdmVyLCAuYmFjay10by10b3A6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2VmZWZlZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gICAgLmJhY2stdG8tdG9wOmhvdmVyIC5obnktc3ZnLCAuYmFjay10by10b3A6Zm9jdXMgLmhueS1zdmcge1xuICAgICAgZmlsbDogIzAzNTAyQzsgfVxuICAuYmFjay10by10b3AgLmhueS1zdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIG1hcmdpbjogLTE0cHggMCAwIC0xM3B4O1xuICAgIGZpbGw6ICNmZWZlZmU7IH1cbiAgLmJhY2stdG8tdG9wLmlzLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmJyb2NodXJlc19faXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAuYnJvY2h1cmVzX19pdGVtIGZpZ3VyZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1MCU7IH1cbiAgLmJyb2NodXJlc19faXRlbSA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5icm9jaHVyZXNfX2l0ZW0gPiBzcGFuID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI2LCAyNiwgMjYsIDAuOCk7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmJyb2NodXJlc19faXRlbSA+IHNwYW4gPiBzcGFuIC5obnktc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5jYWxjdWxhdG9ycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2FsY3VsYXRvcnNfX3VuaXRzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZWZlZmU7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgyNiwgMjYsIDI2LCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMjYsIDI2LCAyNiwgMC4wOCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FsY3VsYXRvcnNfX3VuaXRzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5jYWxjdWxhdG9yc19fdW5pdHMgLmJ1dHRvbixcbiAgICAuY2FsY3VsYXRvcnNfX3VuaXRzICNnZHByLXN1Ym1pdCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAgICAgICAuY2FsY3VsYXRvcnNfX3VuaXRzIC5idXR0b24sXG4gICAgICAgIC5jYWxjdWxhdG9yc19fdW5pdHMgI2dkcHItc3VibWl0IHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH0gfVxuICAgICAgLmNhbGN1bGF0b3JzX191bml0cyAuYnV0dG9uLmRpc2FibGVkLFxuICAgICAgLmNhbGN1bGF0b3JzX191bml0cyAuZGlzYWJsZWQjZ2Rwci1zdWJtaXQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC5jYWxjdWxhdG9yc19fdW5pdHMgLmJ1dHRvbjpmaXJzdC1jaGlsZCxcbiAgICAgIC5jYWxjdWxhdG9yc19fdW5pdHMgI2dkcHItc3VibWl0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgICAgIC5jYWxjdWxhdG9yc19fdW5pdHMgLmJ1dHRvbjpudGgtY2hpbGQoMiksXG4gICAgICAuY2FsY3VsYXRvcnNfX3VuaXRzICNnZHByLXN1Ym1pdDpudGgtY2hpbGQoMikge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuICAuY2FsY3VsYXRvcnNfX25vdGljZSBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmNhbGN1bGF0b3JzX19ub3RpY2UgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTsgfVxuICAuY2FsY3VsYXRvcnNfX29wdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICAuY2FsY3VsYXRvcnNfX29wdGlvbnMgbGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAuY2FsY3VsYXRvcnNfX29wdGlvbnMgbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY2FsY3VsYXRvcnMgcCxcbiAgLmNhbGN1bGF0b3JzIC5oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxjdWxhdG9yc19fdXRpbGl0eSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG5cbi5jYWxjdWxhdG9yIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5jYWxjdWxhdG9yICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5jYWxjdWxhdG9yIGVtIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmNhbGN1bGF0b3JfX2Zvcm0ge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAgIC5jYWxjdWxhdG9yX19mb3JtIC5idXR0b24sXG4gICAgLmNhbGN1bGF0b3JfX2Zvcm0gI2dkcHItc3VibWl0IHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmNhbGN1bGF0b3JfX2Zvcm0gLmJ1dHRvbixcbiAgICAgICAgLmNhbGN1bGF0b3JfX2Zvcm0gI2dkcHItc3VibWl0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLmNhbGN1bGF0b3JfX2Zvcm0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNhbGN1bGF0b3JfX2Zvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH0gfVxuICAgIC5jYWxjdWxhdG9yX19mb3JtID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAuY2FsY3VsYXRvcl9fZm9ybSBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleDogMSAxOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY2FsY3VsYXRvcl9fZm9ybSBsYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgICAuY2FsY3VsYXRvcl9fZm9ybSBsYWJlbCBpbnB1dCxcbiAgICAgIC5jYWxjdWxhdG9yX19mb3JtIGxhYmVsIHNlbGVjdCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAgICAgLmNhbGN1bGF0b3JfX2Zvcm0gbGFiZWwgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY2FsY3VsYXRvcl9fZm9ybSBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7IH0gfVxuICAuY2FsY3VsYXRvcl9fbGFiZWwtLWhhcy1lcnJvciBpbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2M0YjM3OyB9XG4gIC5jYWxjdWxhdG9yX190b3RhbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5jYWxjdWxhdG9yX19wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0ODQ4NDg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNhbGN1bGF0b3JfX3BsYWNlaG9sZGVyICsgLmNhbGN1bGF0b3JfX3BsYWNlaG9sZGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGN1bGF0b3JfX2Vycm9yIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuICAuY2FsY3VsYXRvciBidXR0b24gKyBidXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLmNhcmQtLWJveCB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgyNiwgMjYsIDI2LCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMjYsIDI2LCAyNiwgMC4wOCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5jYXJkLS1ib3gge1xuICAgICAgICBwYWRkaW5nOiAzcmVtOyB9IH1cbiAgICAuY2FyZC0tYm94IFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuY2FyZC0tcHJvZHVjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAxLjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAgIC5jYXJkLS1wcm9kdWN0OmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzg5OTM5QjtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC43KTtcbiAgICAgIGNvbG9yOiAjNDA3NjM2OyB9XG4gIC5jYXJkIC5oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgLmNhcmRfX2NvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjODk5MzlCO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmNhcmRfX3ByaWNlIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLmNhcmRfX3ByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5jYXJkX19waG90byB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgyNiwgMjYsIDI2LCAwLjEpLCAwIDZweCAxMnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4wOCk7IH1cbiAgICAuY2FyZF9fcGhvdG8gPiBkaXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNhcmRfX3Bob3RvIGZpZ3VyZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAuY2FyZF9fcGhvdG8gZmlndXJlICsgZmlndXJlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgLmNhcmRfX3Bob3RvIGZpZ3VyZSArIGZpZ3VyZTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgIC5jYXJkX19waG90byBmaWd1cmU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJzsgfVxuXG4uY2FyZWVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMzcsIDE0NywgMTU1LCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNSk7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jYXJlZXIgKyAuY2FyZWVyIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgLmNhcmVlcl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIGZsZXg6IDE7IH1cbiAgICAuY2FyZWVyX190aXRsZSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLmNhcmVlcl9fYnV0dG9uIC5idXR0b24sXG4gICAgLmNhcmVlcl9fYnV0dG9uICNnZHByLXN1Ym1pdCB7XG4gICAgICBwYWRkaW5nOiAwLjVlbTsgfVxuICAgICAgLmNhcmVlcl9fYnV0dG9uIC5idXR0b24gc3BhbiwgLmNhcmVlcl9fYnV0dG9uICNnZHByLXN1Ym1pdCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuY2FyZWVyX19idXR0b24gLmJ1dHRvbiBzcGFuICsgLmhueS1zdmcsIC5jYXJlZXJfX2J1dHRvbiAjZ2Rwci1zdWJtaXQgc3BhbiArIC5obnktc3ZnIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuY2FyZWVyX19idXR0b24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOyB9IH1cbiAgLmNhcmVlcl9fYnV0dG9uIC5idXR0b24sXG4gIC5jYXJlZXJfX2J1dHRvbiAjZ2Rwci1zdWJtaXQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5jYXJlZXJfX2J1dHRvbiAuYnV0dG9uLFxuICAgICAgLmNhcmVlcl9fYnV0dG9uICNnZHByLXN1Ym1pdCB7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVlbSAxLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH0gfVxuXG4uY2FyZWVyc19faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmNhcmVlcnNfX2Jsb2NrIHtcbiAgY29sb3I6ICMwMzUwMkM7IH1cbiAgLmNhcmVlcnNfX2Jsb2NrICsgLmNhcmVlcnNfX2Jsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgLmNhcmVlcnNfX2Jsb2NrIGEge1xuICAgIGNvbG9yOiAjMDM1MDJDOyB9XG4gICAgLmNhcmVlcnNfX2Jsb2NrIGE6Zm9jdXMsIC5jYXJlZXJzX19ibG9jayBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5jaGVja2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmNoZWNrbGlzdC0tdHdvLWNvbHVtbiB7XG4gICAgY29sdW1uLWdhcDogMS41cmVtO1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC5jaGVja2xpc3QtLXR3by1jb2x1bW4gbGkge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG4gIC5jaGVja2xpc3QgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMjBweCArIDAuNXJlbSk7IH1cbiAgICAuY2hlY2tsaXN0IGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTsgfVxuICAgIC5jaGVja2xpc3QgbGkgLmhueS1zdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZmlsbDogIzAzNTAyQzsgfVxuICAgICAgLmNoZWNrbGlzdCBsaSAuaG55LXN2Zy0td2FybmluZyB7XG4gICAgICAgIGZpbGw6ICNmZmFlMDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5jaGVja291dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5jaGVja291dF9fZm9ybSB7XG4gICAgcGFkZGluZy1yaWdodDogNXJlbTsgfSB9XG5cbi5jaGVja291dF9fZm9ybSBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmNoZWNrb3V0X19ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5jaGVja291dF9fYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuY2hlY2tvdXRfX2JveCA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLmNoZWNrb3V0X19ib3ggPiBkaXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jaGVja291dF9fYm94ID4gZGl2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNXJlbTsgfSB9XG4gIC5jaGVja291dF9fYm94OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMS41cmVtO1xuICAgIGxlZnQ6IC0xLjVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5jaGVja291dF9fYm94OmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDUwdnc7IH0gfVxuXG4uY2hlY2tvdXQgLnNpdGUtc2VhcmNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5jb2xvcGhvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjc7XG4gIHotaW5kZXg6IDM7IH1cbiAgLmNvbG9waG9uIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbG9waG9uIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb2xvcGhvbiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAuY29sb3Bob24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29sb3Bob25fX2xlZ2FsZXNlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb2xvcGhvbiAubGVnYWwtbmF2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH0gfVxuICAuY29sb3Bob24gLmxlZ2FsLW5hdl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgICAuY29sb3Bob24gLmxlZ2FsLW5hdl9faXRlbXMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAuY29sb3Bob24gLmxlZ2FsLW5hdl9faXRlbSArIC5sZWdhbC1uYXZfX2l0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmNvbnRhY3QtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY29udGFjdC1saXN0LS1jZW50ZXJlZCAuY29udGFjdC1saXN0X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jb250YWN0LWxpc3QtLWNlbnRlcmVkIC5jb250YWN0LWxpc3RfX2l0ZW0gPiAuaG55LXN2ZyB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5jb250YWN0LWxpc3QgYVtkYXRhLXNjcm9sbC10YXJnZXRdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuY29udGFjdC1saXN0IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbnRhY3QtbGlzdF9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygycmVtICsgMXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAubC1oZWFkZXIgLmNvbnRhY3QtbGlzdF9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDFyZW0gKyAwLjVyZW0pOyB9IH1cbiAgICAuY29udGFjdC1saXN0X19pdGVtLS1uby1pY29uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5jb250YWN0LWxpc3RfX2l0ZW0gKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cbiAgICAuY29udGFjdC1saXN0X19pdGVtID4gLmhueS1zdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkgYW5kIChtYXgtd2lkdGg6IDc5Ljk5ODc1ZW0pIHtcbiAgLmwtaGVhZGVyIC5jb250YWN0LWxpc3RfX2l0ZW0gPiAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9IH1cbiAgLmNvbnRhY3QtbGlzdCB1bCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuY29udGFjdC1saXN0IHVsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gICAgICAuY29udGFjdC1saXN0IHVsID4gbGkgPiBzcGFuLFxuICAgICAgLmNvbnRhY3QtbGlzdCB1bCA+IGxpID4gc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLmNvbnRhY3QtbGlzdCB1bCA+IGxpID4gc3Ryb25nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jb250YWN0LWxpc3QtLXBob25lLW51bWJlciA+IGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07IH1cbiAgLmNvbnRhY3QtbGlzdC0tcGhvbmUtbnVtYmVycyB1bCBsaSBzdHJvbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmNvbnRhY3QtbGlzdC0tcGhvbmUtbnVtYmVycyB1bCBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDEuMjVlbTsgfVxuICAuY29udGFjdC1saXN0ICsgLmNvbnRhY3QtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG5cbi5jb250ZW50LWJsb2NrOm5vdCguY29udGVudC1ibG9jay0tbm8tc3BhY2luZyk6bm90KC5jb250ZW50LWJsb2NrLS1iYWNrZ3JvdW5kKSArIC5jb250ZW50LWJsb2NrOm5vdCguY29udGVudC1ibG9jay0tbm8tc3BhY2luZyk6bm90KC5jb250ZW50LWJsb2NrLS1iYWNrZ3JvdW5kKSAubC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uY29udGVudC1ibG9jay0tbm8tc3BhY2luZyAubC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmNvbnRlbnQtYmxvY2stLWJhY2tncm91bmQtLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuXG4uY29udGVudC1ibG9jay0tY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNvbnRlbnQtYmxvY2tfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY29udGVudC1ibG9ja19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMCAwIDEwMCU7IH1cblxuLmNvbnRlbnQtYmxvY2tfX2NvbnRlbnQge1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgZmxleC1zaHJpbms6IDA7IH1cblxuLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAuY2VsbCArIC5jZWxsIC5jb250ZW50LWJsb2NrX19jb2x1bW4sIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXRocmVlLWNvbHVtbiAuY2VsbCArIC5jZWxsIC5jb250ZW50LWJsb2NrX19jb2x1bW4sIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZvdXItY29sdW1uIC5jZWxsICsgLmNlbGwgLmNvbnRlbnQtYmxvY2tfX2NvbHVtbiwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGwgKyAuY2VsbCAuY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXR3by1jb2x1bW4gLmNlbGwgKyAuY2VsbCAuY29udGVudC1ibG9ja19fY29sdW1uLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGwgKyAuY2VsbCAuY29udGVudC1ibG9ja19fY29sdW1uLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mb3VyLWNvbHVtbiAuY2VsbCArIC5jZWxsIC5jb250ZW50LWJsb2NrX19jb2x1bW4sIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZpdmUtY29sdW1uIC5jZWxsICsgLmNlbGwgLmNvbnRlbnQtYmxvY2tfX2NvbHVtbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXRocmVlLWNvbHVtbiAuZ3JpZC14LCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mb3VyLWNvbHVtbiAuZ3JpZC14LCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1maXZlLWNvbHVtbiAuZ3JpZC14IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuY29udGVudC1ibG9ja19fbGF5b3V0LS10d28tY29sdW1uIC5jZWxsOm50aC1jaGlsZCgybiszKSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoMm4rNCkge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDZuKzQpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDZuKzUpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDZuKzYpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZm91ci1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDhuKzUpLCAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mb3VyLWNvbHVtbiAuY2VsbDpudGgtY2hpbGQoOG4rNiksIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZvdXItY29sdW1uIC5jZWxsOm50aC1jaGlsZCg4bis3KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZm91ci1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDhuKzgpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbis2KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbis3KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbis4KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbis5KSwgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZml2ZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDEwbisxMCkge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfSB9XG5cbi5jb250ZW50LWJsb2NrX19oZWFkZXIge1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbnRlbnQtYmxvY2tfX2hlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgLmNvbnRlbnQtYmxvY2tfX2hlYWRlciAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29udGVudC1ibG9ja19faGVhZGVyLS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAuY29udGVudC1ibG9jay0tY2VudGVyZWQgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAuY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi5jb250ZW50LWJsb2NrX19tb2R1bGU6bm90KC5jb250ZW50LWJsb2NrX19tb2R1bGUtLWhlYWRpbmcpICsgLmNvbnRlbnQtYmxvY2tfX21vZHVsZSB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLmNvbnRlbnQtYmxvY2tfX21vZHVsZSB7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDsgfVxuXG4uY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uY29udGVudC1ibG9ja19fbW9kdWxlcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC1ncm93OiAxOyB9XG4gIC5jb250ZW50LWJsb2NrX19tb2R1bGVzIC5jb250ZW50LWJsb2NrX19tb2R1bGU6bGFzdC1jaGlsZC5jb250ZW50LWJsb2NrX19tb2R1bGUtLXByaWNlLCAuY29udGVudC1ibG9ja19fbW9kdWxlcyAuY29udGVudC1ibG9ja19fbW9kdWxlOmxhc3QtY2hpbGQuY29udGVudC1ibG9ja19fbW9kdWxlLS1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH1cblxuLmNvbnRlbnQtYmxvY2sgaW1nLnRyYWN0b3ItdHJ1Y2sge1xuICBtYXJnaW4tYm90dG9tOiAtM3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAuY29udGVudC1ibG9jayBpbWcudHJhY3Rvci10cnVjayB7XG4gICAgICB3aWR0aDogMTI1JTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC02cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5pcy1yZWN5Y2xpbmctY2VudHJlLWxhbmRpbmcgLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdGhyZWUtY29sdW1uIC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5pcy1yZWN5Y2xpbmctY2VudHJlLWxhbmRpbmcgLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdGhyZWUtY29sdW1uIC5jZWxsOm50aC1jaGlsZCgyKSwgLmlzLXJlY3ljbGluZy1jZW50cmUtbGFuZGluZyAuY29udGVudC1ibG9jazpmaXJzdC1jaGlsZCAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4gLmNlbGw6bnRoLWNoaWxkKDMpIHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBmbGV4OiAwIDAgNTAlOyB9IH1cblxuLmZhcS1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mYXEtbGlzdF9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mYXEtbGlzdF9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfSB9XG4gIC5mYXEtbGlzdF9fbGlzdGluZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZhcS1saXN0X19saXN0aW5nIHtcbiAgICAgICAgZmxleDogMSAxOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmFxLWxpc3RfX2dyb3VwX193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZhcS1saXN0X19ncm91cF9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0LjM3NXJlbTsgfSB9XG4gIC5mYXEtbGlzdF9fZ3JvdXAgKyAuZmFxLWxpc3RfX2dyb3VwIC5mYXEtbGlzdF9fZ3JvdXBfX2lubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtOyB9XG4gIC5mYXEtbGlzdF9fc2lkZWJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmFxLWxpc3RfX3NpZGViYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleDogMCAxIGF1dG87IH0gfVxuICAgIC5mYXEtbGlzdF9fc2lkZWJhcl9faW5uZXIgPiBkaXYge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5mYXEtbGlzdF9fc2lkZWJhciB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLmZhcS1saXN0X19zaWRlYmFyIGxpICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gICAgLmZhcS1saXN0X19zaWRlYmFyIGxpID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMCAwIDEuNWVtO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgLmZhcS1saXN0X19zaWRlYmFyIGxpID4gYTpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMC43NWVtO1xuICAgICAgICBoZWlnaHQ6IDAuNzVlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuM2VtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ4Ljg3Mzc1ZW0pIHtcbiAgICAgICAgLmZhcS1saXN0X19zaWRlYmFyIGxpID4gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLmZhcS1saXN0X19zaWRlYmFyIGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICM0Njk1NEM7IH1cbiAgLmZhcS1saXN0X19pdGVtcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZmFxLWxpc3RfX2l0ZW1zIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSAycmVtIDVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI1NCwgMjU0LCAwLjcpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgLmZhcS1saXN0X19pdGVtcyBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZmFxLWxpc3RfX2l0ZW1zIGxpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9IH1cbiAgICAgIC5mYXEtbGlzdF9faXRlbXMgbGk6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMCksIHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KSAxMDAlKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IDU7IH1cbiAgICAgIC5mYXEtbGlzdF9faXRlbXMgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgIC5mYXEtbGlzdF9faXRlbXMgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZhcS1saXN0X19xdWVzdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAuZmFxLWxpc3RfX3F1ZXN0aW9uOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0ycmVtO1xuICAgICAgbGVmdDogLTVyZW07XG4gICAgICB3aWR0aDogNnJlbTtcbiAgICAgIGhlaWdodDogMTByZW07XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDY5NTRDO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0OyB9XG4gICAgLmZhcS1saXN0X19xdWVzdGlvbjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMnJlbTtcbiAgICAgIGxlZnQ6IC01cmVtO1xuICAgICAgd2lkdGg6IDRyZW07XG4gICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDI2LCAyNiwgMjYsIDAuMSk7XG4gICAgICBjb250ZW50OiAnUSc7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mYXEtbGlzdF9fcXVlc3Rpb246YWZ0ZXIsIC5mYXEtbGlzdF9fYW5zd2VyOmFmdGVyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuZmFxLWxpc3RfX2Fuc3dlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZhcS1saXN0X19hbnN3ZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC01cmVtO1xuICAgICAgd2lkdGg6IDRyZW07XG4gICAgICBjb2xvcjogIzQ2OTU0QztcbiAgICAgIGNvbnRlbnQ6ICdBJztcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLypcbiAgU2h1ZmZsZSBuZWVkcyBlaXRoZXIgcmVsYXRpdmUgb3IgYWJzb2x1dGUgcG9zaXRpb25pbmcgb24gdGhlIGNvbnRhaW5lclxuICBJdCB3aWxsIHNldCBpdCBmb3IgeW91LCBidXQgaXQnbGwgY2F1c2UgYW5vdGhlciBzdHlsZSByZWNhbGN1bGF0aW9uIGFuZCBsYXlvdXQuXG4gIEFLQSB3b3JzZSBwZXJmb3JtYW5jZSAtIHNvIGp1c3Qgc2V0IGl0IGhlcmVcbiAqL1xuLmdhbGxlcnlfX2dyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogY2FsYygxMDAlICsgMC43NXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeV9fZ3JpZCAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMC4xODc1cmVtKTsgfSB9XG5cbi5nYWxsZXJ5X19maWx0ZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuZ2FsbGVyeV9fZmlsdGVycyAuYnV0dG9uLFxuICAuZ2FsbGVyeV9fZmlsdGVycyAjZ2Rwci1zdWJtaXQge1xuICAgIG1hcmdpbi1yaWdodDogMC4zNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM1cmVtOyB9XG5cbi5nYWxsZXJ5X19zaXplciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5nYWxsZXJ5X19pdGVtID4gZGl2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZ2FsbGVyeV9faXRlbS5zcXVhcmUgPiBkaXYge1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ2FsbGVyeV9faXRlbS5zcXVhcmUubWVkaXVtLTMgPiBkaXYge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgKyAwLjkzNzVyZW0pOyB9IH1cblxuLmdhbGxlcnlfX2l0ZW0uaGFsZiA+IGRpdiB7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7IH1cblxuLmdhbGxlcnlfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJyZW07XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCAyMzksIDIzOSwgMC41KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZ2FsbGVyeV9fbGluayAubG9hZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuXG4uZ2FsbGVyeSBmaWd1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZ2FsbGVyeV9fY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWluLXdpZHRoOiAzMy4zMzMzMyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtIDAuNzVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmdhbGxlcnlfX2NvbnRlbnQgLmhlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICM4OTkzOUI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAuZ2FsbGVyeV9fY29udGVudCAuaGVhZGluZ19fc3ViaGVhZGluZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICBjb2xvcjogIzAzNTAyQztcbiAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5nZHByX19ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9IH1cblxuLmdkcHJfX2JveCArIC5nZHByX19ib3gge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gIC5nZHByX19ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgZmxleDogMSAxOyB9XG4gICAgLmdkcHJfX2JveCArIC5nZHByX19ib3gge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5nZHByX19ib3ggPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAycmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEzNywgMTQ3LCAxNTUsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcbiAgZmxleDogMSAxOyB9XG4gIC5nZHByX19ib3ggPiBhIHN2ZyB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMXJlbTtcbiAgICBmaWxsOiAjMDM1MDJDOyB9XG4gIC5nZHByX19ib3ggPiBhOmZvY3VzLCAuZ2Rwcl9fYm94ID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzAzNTAyQzsgfVxuXG4jY29va2llLWxhdy1pbmZvLWJhciB7XG4gIGJveC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xNSk7IH1cblxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgaDIsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIGgzIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmdkcHItbm90aWNlICsgaDMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuZ2Rwci1ub3RpY2UgKyBoMyArIGZvcm0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0LFxuI2dkcHItc3VibWl0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuMjVlbSAyLjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjg5NXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbixcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdCwgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddXG4gICNnZHByLXN1Ym1pdCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uLFxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAjZ2Rwci1zdWJtaXQsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZC5idXR0b24sXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZCNnZHByLXN1Ym1pdCwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbltkaXNhYmxlZF0sXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdFtkaXNhYmxlZF0sIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZC5idXR0b246aG92ZXIsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpob3ZlciwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZC5idXR0b246Zm9jdXMsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5kaXNhYmxlZCNnZHByLXN1Ym1pdDpmb2N1cywgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdFtkaXNhYmxlZF06Zm9jdXMsXG4gICNnZHByLXN1Ym1pdCxcbiAgI2dkcHItc3VibWl0LmRpc2FibGVkLFxuICAjZ2Rwci1zdWJtaXRbZGlzYWJsZWRdLFxuICAjZ2Rwci1zdWJtaXQuZGlzYWJsZWQ6aG92ZXIsXG4gICNnZHByLXN1Ym1pdFtkaXNhYmxlZF06aG92ZXIsXG4gICNnZHByLXN1Ym1pdC5kaXNhYmxlZDpmb2N1cyxcbiAgI2dkcHItc3VibWl0W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzNTAyQztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uOmhvdmVyLFxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAjZ2Rwci1zdWJtaXQ6aG92ZXIsIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5idXR0b246Zm9jdXMsXG4gIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdDpmb2N1cyxcbiAgI2dkcHItc3VibWl0OmhvdmVyLFxuICAjZ2Rwci1zdWJtaXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMjNjMjE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbjpmb2N1cyxcbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0OmZvY3VzLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uOmhvdmVyLFxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAjZ2Rwci1zdWJtaXQ6aG92ZXIsXG4gICNnZHByLXN1Ym1pdDpmb2N1cyxcbiAgI2dkcHItc3VibWl0OmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuYnV0dG9uOmJlZm9yZSxcbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0OmJlZm9yZSwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbjphZnRlcixcbiAgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgI2dkcHItc3VibWl0OmFmdGVyLFxuICAjZ2Rwci1zdWJtaXQ6YmVmb3JlLFxuICAjZ2Rwci1zdWJtaXQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLmhueSAuY29va2llbGF3aW5mby1yb3ctY2F0LXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7IH1cbiAgLmhueSAuY29va2llbGF3aW5mby1yb3ctY2F0LXRhYmxlIHRib2R5IHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLmhueSAuY29va2llbGF3aW5mby1yb3ctY2F0LXRhYmxlIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5obnkgLmNvb2tpZWxhd2luZm8tcm93LWNhdC10YWJsZSB0aCxcbiAgLmhueSAuY29va2llbGF3aW5mby1yb3ctY2F0LXRhYmxlIHRkIHtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmU7IH1cblxuLmdsb2JhbC1hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogI2NjNGIzNztcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xNSk7XG4gIHotaW5kZXg6IDk5OTk4OyB9XG4gIC5nbG9iYWwtYWxlcnRfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjYyNWVtKSB7XG4gICAgICAuZ2xvYmFsLWFsZXJ0X19jb250ZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5nbG9iYWwtYWxlcnRfX3V0aWxpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MC42MjVlbSkge1xuICAgICAgLmdsb2JhbC1hbGVydF9fdXRpbGl0eSAuYnV0dG9uLnRpbnksXG4gICAgICAuZ2xvYmFsLWFsZXJ0X191dGlsaXR5IC50aW55I2dkcHItc3VibWl0IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG5cbi5oZWFkZXItdXRpbGl0eSB7XG4gIGNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNzUpOyB9XG4gIC5oZWFkZXItdXRpbGl0eSAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDEuNWVtO1xuICAgIGhlaWdodDogMS41ZW07IH1cbiAgICAuaGVhZGVyLXV0aWxpdHkgLmhueS1zdmctLWZhY2Vib29rIHtcbiAgICAgIHdpZHRoOiAyZW07XG4gICAgICBoZWlnaHQ6IDJlbTsgfVxuICAuaGVhZGVyLXV0aWxpdHkgYnV0dG9uLFxuICAuaGVhZGVyLXV0aWxpdHkgYSB7XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLmhlYWRlci11dGlsaXR5IGJ1dHRvbixcbiAgICAgIC5oZWFkZXItdXRpbGl0eSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZWFkZXItdXRpbGl0eSBidXR0b24sXG4gICAgICAuaGVhZGVyLXV0aWxpdHkgYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjg5NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuODk1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuaGVhZGVyLXV0aWxpdHkgYnV0dG9uLFxuICAgICAgLmhlYWRlci11dGlsaXR5IGEge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xMjVlbTsgfSB9XG4gICAgLmhlYWRlci11dGlsaXR5IGJ1dHRvbjpob3ZlcixcbiAgICAuaGVhZGVyLXV0aWxpdHkgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuaGVhZGVyLXV0aWxpdHkgYnV0dG9uLm5hdmJ1cmdlciB7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgYmFja2dyb3VuZDogIzQ2OTU0QzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXItdXRpbGl0eV9fd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI3NXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgLmhlYWRlci11dGlsaXR5X193cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzUwcHg7IH0gfVxuICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLmhlYWRlci11dGlsaXR5X19pdGVtcyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW1zIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtOyB9IH1cbiAgLmhlYWRlci11dGlsaXR5X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OC44NzM3NWVtKSB7XG4gICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW06bm90KC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlcikge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW06bm90KC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlcikge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW06bm90KC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlcikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjg5NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0gKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW06bm90KC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlcikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNzkuOTk4NzVlbSkge1xuICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWhvbWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWRpdmlkZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyIH4gLmhlYWRlci11dGlsaXR5X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI2LjI1ZW0pIHtcbiAgICAgICAgLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyIH4gLmhlYWRlci11dGlsaXR5X19pdGVtLmhlYWRlci11dGlsaXR5X19pdGVtLS1jb250YWN0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OC44NzM3NWVtKSB7XG4gICAgICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlciB+IC5oZWFkZXItdXRpbGl0eV9faXRlbS5oZWFkZXItdXRpbGl0eV9faXRlbS0tZmFjZWJvb2sge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyIH4gLmhlYWRlci11dGlsaXR5X19pdGVtOm5vdCguaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWRpdmlkZXIpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5oZWFkZXItdXRpbGl0eV9faXRlbS0tZGl2aWRlciArIC5oZWFkZXItdXRpbGl0eV9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLmhlYWRlci11dGlsaXR5X19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlci11dGlsaXR5IC5zaXRlLXNlYXJjaCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogLTEuMjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDE0MHB4IHJnYmEoMjYsIDI2LCAyNiwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjE1KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuaGVhZGVyLXV0aWxpdHkgLnNpdGUtc2VhcmNoX19pbnB1dCB7XG4gICAgICBtaW4td2lkdGg6IDE4NXB4OyB9XG4gICAgLmlzLXNlYXJjaC1vcGVuIC5oZWFkZXItdXRpbGl0eSAuc2l0ZS1zZWFyY2gge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAgLmhlYWRlci11dGlsaXR5IC5zaXRlLXNlYXJjaDpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDQuNXJlbTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIGJvcmRlci13aWR0aDogMCA4cHggOHB4IDhweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZWZlZmUgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgICAgIC5oZWFkZXItdXRpbGl0eSAuc2l0ZS1zZWFyY2g6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogMS4yNXJlbTsgfSB9XG4gICAgLmlzLXNlYXJjaC1vcGVuIC5oZWFkZXItdXRpbGl0eSAuc2l0ZS1zZWFyY2gge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAuaGVhZGVyLXV0aWxpdHkgLnNpdGUtc2VhcmNoIGZvcm0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cblxuLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDAgMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuOSk7IH1cbiAgLmhlcm9fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZXJvX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKSAvIDQ0ICogMjcgKyAxMHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpIC8gNDQgKiAyNyArIDEwcHgpOyB9IH1cbiAgICAuaGVyby0tbGFuZGluZyAuaGVyb19fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDMuMTI1ZW0pIHtcbiAgICAgICAgLmhlcm8tLWxhbmRpbmcgLmhlcm9fX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9IH1cbiAgLmhlcm8tLWhvbWUge1xuICAgIHBhZGRpbmctdG9wOiAzNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1JTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVyby0taG9tZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNSU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMCU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVyby0taG9tZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcmVtOyB9IH1cbiAgLmhlcm8tLWxhbmRpbmcge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLmhlcm8tLWxhbmRpbmcgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaGVybyAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAuaGVybyAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuaGVybyAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAuaGVybyAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9IH1cbiAgLmhlcm9fX3NsaWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5oZXJvX19zbGlkZXIgLnN3aXBlci1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAuaGVyb19fc2xpZGVyIC5zd2lwZXItY29udGFpbmVyOm5vdCguc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCkgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAgIC5oZXJvX19zbGlkZXIgLnN3aXBlci1jb250YWluZXI6bm90KC5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkKSAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmhlcm9fX3NsaWRlciAuc3dpcGVyLWNvbnRhaW5lci1pbml0aWFsaXplZCAuc3dpcGVyLXNsaWRlOm5vdCguc3dpcGVyLXNsaWRlLWFjdGl2ZSkgZmlndXJlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuICAuaGVybyArIC5jb250ZW50LWJsb2NrcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDsgfVxuICAgIC5oZXJvICsgLmNvbnRlbnQtYmxvY2tzID4gLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3JlbTsgfVxuICAgICAgLmhlcm8gKyAuY29udGVudC1ibG9ja3MgPiAuY29udGVudC1ibG9jazpmaXJzdC1jaGlsZCAucHJvZHVjdC1jYXRlZ29yaWVzIC5jZWxsOmZpcnN0LWNoaWxkIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0sIC5oZXJvICsgLmNvbnRlbnQtYmxvY2tzID4gLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLnByb2R1Y3QtY2F0ZWdvcmllcyAuY2VsbDpudGgtY2hpbGQoMikgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC01MCU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5oZXJvICsgLmNvbnRlbnQtYmxvY2tzID4gLmNvbnRlbnQtYmxvY2s6Zmlyc3QtY2hpbGQgLnByb2R1Y3QtY2F0ZWdvcmllcyAuY2VsbDpudGgtY2hpbGQoMykgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTUwJTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVybyArIC5jb250ZW50LWJsb2NrcyA+IC5jb250ZW50LWJsb2NrOmZpcnN0LWNoaWxkIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC01MCU7IH0gfVxuICAuaGVybyBmaWd1cmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmhlcm8gaDEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmhlcm8gaDEgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cblxuLnJldmVhbCAuaG55LWNhcnQge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5obnktY2FydF9faXRlbXMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmhueS1jYXJ0X19pdGVtICsgLmhueS1jYXJ0X19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VmZWZlZjsgfVxuICAuaG55LWNhcnRfX2l0ZW0gKyAuaG55LWNhcnRfX2l0ZW0tLXRvdGFsIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAucmV2ZWFsIC5obnktY2FydF9faXRlbSArIC5obnktY2FydF9faXRlbSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2Q3ZDdkNzsgfVxuXG4uaG55LWNhcnRfX2l0ZW0gLmJ1dHRvbixcbi5obnktY2FydF9faXRlbSAjZ2Rwci1zdWJtaXQge1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmhueS1jYXJ0X19pdGVtLS1wcm9kdWN0IC5obnktY2FydF9faXRlbS1pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmhueS1jYXJ0X19pdGVtLS10b3RhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uaG55LWNhcnRfX2l0ZW0tLWVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5obnktY2FydF9fdG90YWwge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhueS1jYXJ0X19pdGVtLXJlbW92ZSB7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuICAuaG55LWNhcnRfX2l0ZW0tcmVtb3ZlIC5obnktc3ZnIHtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHBhZGRpbmc6IDAuMTI1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgZmlsbDogI2ZlZmVmZTsgfVxuXG4uaG55LWNhcnRfX2l0ZW0tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgLmhueS1jYXJ0X19pdGVtLXRpdGxlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaG55LWNhcnRfX2l0ZW0tZGV0YWlscyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5obnktY2FydF9faXRlbS1xdWFudGl0eSwgLmhueS1jYXJ0X19pdGVtLXByaWNlIHtcbiAgY29sb3I6ICM4OTkzOUI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uaG55LWNhcnRfX2l0ZW0tcGhvdG8ge1xuICBtYXgtd2lkdGg6IDUwcHg7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbGV4OiAwIDAgNTBweDsgfVxuICAuaG55LWNhcnRfX2l0ZW0tcGhvdG8gaW1nIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cblxuLmhueS1jYXJ0X19pdGVtLXRvdGFsIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmhueS1jYXJ0X19pdGVtLXV0aWxpdHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5obnktY2FydF9faXRlbS11dGlsaXR5IGJ1dHRvbiArIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAuaG55LWNhcnRfX2l0ZW0tdXRpbGl0eSAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBmaWxsOiAjODk5MzlCOyB9XG4gICAgLmhueS1jYXJ0X19pdGVtLXV0aWxpdHkgLmhueS1zdmctLWNoZWNrIHtcbiAgICAgIGZpbGw6ICM0Njk1NEM7IH1cbiAgICAuaG55LWNhcnRfX2l0ZW0tdXRpbGl0eSAuaG55LXN2Zy0tdW5kbyB7XG4gICAgICBmaWxsOiAjZmZhZTAwOyB9XG5cbi5obnktY2FydF9faXRlbS1lZGl0b3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gIC5pcy1lZGl0aW5nIC5obnktY2FydF9faXRlbS1lZGl0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmhueS1jYXJ0X19pdGVtLWVkaXRvciBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yIGxhYmVsID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yIGlucHV0IHtcbiAgICB3aWR0aDogNzVweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIDAgMCAwLjVyZW07IH1cbiAgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2OmZpcnN0LWNoaWxkID4gZGl2IHtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2ICsgZGl2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gICAgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAgIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6bGFzdC1jaGlsZCAuYnV0dG9uIC5obnktc3ZnLCAuZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgLmJ1dHRvbiAuaG55LXN2ZywgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkICNnZHByLXN1Ym1pdCAuaG55LXN2ZyB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIGhlaWdodDogMWVtOyB9XG4gICAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgLmJ1dHRvbiArIC5idXR0b24sIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6bGFzdC1jaGlsZCAjZ2Rwci1zdWJtaXQgKyAuYnV0dG9uLCAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbiArIC5idXR0b24sIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6bGFzdC1jaGlsZCAuYnV0dG9uICsgLmJ1dHRvbiwgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzICNnZHByLXN1Ym1pdCArIC5idXR0b24sIC5nZHByLWZyYW1ld29yay1wcml2YWN5LXRvb2xzIC5obnktY2FydF9faXRlbS1lZGl0b3IgPiBkaXY6bGFzdC1jaGlsZCAjZ2Rwci1zdWJtaXQgKyAuYnV0dG9uLFxuICAgICAgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4gICAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbiArICNnZHByLXN1Ym1pdCwgLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmhueS1jYXJ0X19pdGVtLWVkaXRvciA+IGRpdjpsYXN0LWNoaWxkIC5idXR0b24gKyAjZ2Rwci1zdWJtaXQsXG4gICAgICAuaG55LWNhcnRfX2l0ZW0tZWRpdG9yID4gZGl2Omxhc3QtY2hpbGQgI2dkcHItc3VibWl0ICsgI2dkcHItc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cblxuLmhueS1jYXJ0X19pdGVtLWlubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pcy1lZGl0aW5nIC5obnktY2FydF9faXRlbS1pbm5lciA+IGRpdjpub3QoLmhueS1jYXJ0X19pdGVtLWVkaXRvcikge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5pbmxpbmUtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbmxpbmUtaWNvbiAqICsgLmhueS1zdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5pbmxpbmUtaWNvbiAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDAuNzVlbTtcbiAgICBoZWlnaHQ6IDAuNzVlbTsgfVxuICAgIC5pbmxpbmUtaWNvbiAuaG55LXN2ZyArICoge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgICAuaW5saW5lLWljb24gLmhueS1zdmctLWNoZWNrIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICM0Njk1NEM7XG4gICAgICBmaWxsOiAjZmVmZWZlOyB9XG5cbnAubGVhZC5pbmxpbmUtaWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgcC5sZWFkLmlubGluZS1pY29uIHNwYW4gKyAuaG55LXN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICBwLmxlYWQuaW5saW5lLWljb24gLmhueS1zdmcge1xuICAgIHdpZHRoOiAxLjc1ZW07XG4gICAgbWF4LXdpZHRoOiAxLjc1ZW07XG4gICAgaGVpZ2h0OiAxLjc1ZW07XG4gICAgcGFkZGluZzogMC4yNWVtO1xuICAgIGZsZXg6IDAgMCAxLjc1ZW07IH1cbiAgICBwLmxlYWQuaW5saW5lLWljb24gLmhueS1zdmcgKyBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLmxpc3RpbmctLXBvc3QgLmNlbGwgKyAuY2VsbCAubGlzdGluZ19faXRlbSB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMzcsIDE0NywgMTU1LCAwLjMpOyB9XG5cbi5saXN0aW5nX19pdGVtICsgLmxpc3RpbmdfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG5cbi5saXN0aW5nX19ibG9jayArIC5saXN0aW5nX19ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEzNywgMTQ3LCAxNTUsIDAuMyk7IH1cblxuLmxvYWRlci1vdmVybGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOSk7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTAwMDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuaXMtbG9hZGluZyAubG9hZGVyLW92ZXJsYXkge1xuICAgIGN1cnNvcjogd2FpdDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgLmxvYWRlci1vdmVybGF5IC5sb2FkZXIge1xuICAgIGNvbG9yOiAjNDY5NTRDOyB9XG5cbi5sb2FkZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmxvYWRlciBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgYW5pbWF0aW9uOiBvcGFjaXR5Y2hhbmdlIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG4gIC5sb2FkZXIgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbjogb3BhY2l0eWNoYW5nZSAxcyBlYXNlLWluLW91dCAwLjMzcyBpbmZpbml0ZTsgfVxuICAubG9hZGVyIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICBhbmltYXRpb246IG9wYWNpdHljaGFuZ2UgMXMgZWFzZS1pbi1vdXQgMC42NnMgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBvcGFjaXR5Y2hhbmdlIHtcbiAgMCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmxvZ28gPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4OTkzOUI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpIDAlLCAjZmVmZWZlIDYwJSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2dvID4gYSB7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubG9nbyA+IGEge1xuICAgICAgcGFkZGluZzogMS41cmVtIDEuNXJlbTsgfSB9XG5cbi5tYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuOTUpO1xuICBib3gtc2hhZG93OiAwIDE4cHggMTQwcHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tYXAgZmlndXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tYXBfX2xvY2F0aW9uIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMS41cmVtIDIwcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubWFwX19sb2NhdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLm1hcF9fbG9jYXRpb24gPiBkaXYge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCA3NXB4IHJnYmEoMjYsIDI2LCAyNiwgMC40KSk7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5tYXBfX2xvY2F0aW9uID4gZGl2IHtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNC41cmVtKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubWFwX19sb2NhdGlvbiA+IGRpdiB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgICAgLm1hcF9fbG9jYXRpb24gPiBkaXY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxNXB4IDE1cHggMCAxNXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAubWFwX19sb2NhdGlvbiA+IGRpdjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDE1cHggMTVweCAxNXB4IDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC45KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfSB9XG5cbi5tYXN0aGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5tYXN0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5tYXN0aGVhZF9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgZmxleDogMCAwIDEwMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgIC5tYXN0aGVhZF9fbG9nbyAubG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLm1hc3RoZWFkX19sb2dvIC5sb2dvIHN2ZyB7XG4gICAgICAgIHdpZHRoOiA4MnB4O1xuICAgICAgICBoZWlnaHQ6IDczcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1hc3RoZWFkX19sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgZmxleDogMCAwIDE1MHB4OyB9XG4gICAgICAgIC5tYXN0aGVhZF9fbG9nbyAubG9nbyBzdmcge1xuICAgICAgICAgIHdpZHRoOiAxMjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDExMHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fbG9nbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgZmxleDogMCAwIDEyMHB4OyB9XG4gICAgICAgIC5tYXN0aGVhZF9fbG9nbyAubG9nbyBzdmcge1xuICAgICAgICAgIHdpZHRoOiA5NHB4O1xuICAgICAgICAgIGhlaWdodDogODNweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fbG9nbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDI3NXB4IC0gM3JlbSk7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAubWFzdGhlYWRfX2xvZ28gLmxvZ28gc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAxNTZweDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygzMDBweCAtIDNyZW0pOyB9XG4gICAgICAgIC5tYXN0aGVhZF9fbG9nbyAubG9nbyBzdmcge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgICAubWFzdGhlYWRfX2xvZ28ge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMzUwcHggLSAzcmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1hc3RoZWFkX19uYXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNzVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgIC5tYXN0aGVhZF9fbmF2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzUwcHg7IH0gfVxuICAubWFzdGhlYWRfX25hdiAubmF2YnVyZ2VyIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLm1hc3RoZWFkX19uYXYgLm5hdmJ1cmdlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5tYXN0aGVhZF9fbmF2IC5uYXZidXJnZXIgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtOyB9XG4gIC5tYXN0aGVhZF9fY29udGFjdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLm1hc3RoZWFkX19jb250YWN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC43NSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU2LjI1ZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fY29udGFjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgIC5tYXN0aGVhZF9fY29udGFjdCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMy4xMjVlbSkge1xuICAgICAgLm1hc3RoZWFkX19jb250YWN0IHtcbiAgICAgICAgbWluLWhlaWdodDogMTU1cHg7IH0gfVxuICAgIC5tYXN0aGVhZF9fY29udGFjdCAuaGVhZGluZyB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gICAgLm1hc3RoZWFkX19jb250YWN0IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubWFzdGhlYWRfX2NvbnRhY3QgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIGFuZCAobWF4LXdpZHRoOiA3OS45OTg3NWVtKSB7XG4gIC5obnkgLm1hc3RoZWFkX19jb250YWN0IC5ncmlkLXBhZGRpbmcteCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07IH1cbiAgLm1hc3RoZWFkX19jb250YWN0IC5ncmlkLXBhZGRpbmcteCAuY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH0gfVxuICAgIC5tYXN0aGVhZF9fY29udGFjdCBhIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgICAubWFzdGhlYWRfX2NvbnRhY3QgLmNvbnRhY3QtbGlzdC0tcGhvbmUtbnVtYmVycyAuY29udGFjdC1saXN0X19pdGVtIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtOyB9XG5cbi5taW5pLWNhcnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxOHB4OyB9XG4gIC5oZWFkZXItdXRpbGl0eSAubWluaS1jYXJ0IC5obnktc3ZnIHtcbiAgICB3aWR0aDogMi42MjVlbTtcbiAgICBoZWlnaHQ6IDIuNjI1ZW0vMi4xNTA1NDsgfVxuICAubWluaS1jYXJ0ID4gc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjNDY5NTRDO1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ubW9iaWxlLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDB2dztcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IGNhbGModmFyKC0tdmgsIDF2aCkgKiAxMDApO1xuICBwYWRkaW5nOiAyNnB4IDMzcHggMjZweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQ6ICMwMzUwMkM7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLm1vYmlsZS1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5pcy1tb2JpbGUtbmF2LW9wZW4gLm1vYmlsZS1uYXYge1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH1cbiAgICAubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duIC5tb2JpbGUtbmF2X19pdGVtLS1kaXZpZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1vYmlsZS1uYXYuaXMtZHJpbGxkb3duLW9wZW4gLm1vYmlsZS1uYXZfX2l0ZW0gPiBhID4gc3BhbiB7XG4gICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1vdXQtbGVmdCAxcyBlYXNlIGJvdGg7IH1cbiAgLm1vYmlsZS1uYXYuaXMtZHJpbGxkb3duLW9wZW4gLm1vYmlsZS1uYXZfX2l0ZW0gPiBhID4gLmhueS1zdmcge1xuICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtb3V0LXJpZ2h0IDFzIGVhc2UgYm90aDsgfVxuICAubW9iaWxlLW5hdiAuZHJpbGxkb3duIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gIC5tb2JpbGUtbmF2IC5kcmlsbGRvd24gYSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICAubW9iaWxlLW5hdiA+IGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAxN3B4IDI0cHg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1vYmlsZS1uYXYgPiBidXR0b24gLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7IH1cbiAgLm1vYmlsZS1uYXZfX3dyYXBwZXIgLmxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTIwcHg7IH1cbiAgICAubW9iaWxlLW5hdl9fd3JhcHBlciAubG9nbyA+IGEge1xuICAgICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAubW9iaWxlLW5hdl9fd3JhcHBlciAubG9nbyBzdmcge1xuICAgICAgd2lkdGg6IDEwMnB4O1xuICAgICAgaGVpZ2h0OiA5MXB4OyB9XG4gIC5tb2JpbGUtbmF2X19pdGVtcyB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubW9iaWxlLW5hdl9faXRlbSAuaG55LXN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLm1vYmlsZS1uYXZfX2l0ZW0tLWFjdGl2ZSBhIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAubW9iaWxlLW5hdl9faXRlbSBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAubW9iaWxlLW5hdl9faXRlbSBhID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNXM7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG4gICAgICAuaXMtbW9iaWxlLW5hdi1vcGVuIC5tb2JpbGUtbmF2X19pdGVtIGEgPiBzcGFuIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1pbi1sZWZ0IDFzIGVhc2UgYm90aDsgfVxuICAgIC5tb2JpbGUtbmF2X19pdGVtIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIC5tb2JpbGUtbmF2X19pdGVtLS1oYXMtc3VibWVudSA+IGEgPiBzcGFuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAubW9iaWxlLW5hdl9faXRlbS0taGFzLXN1Ym1lbnUgPiBhID4gc3BhbjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMC4zMjVlbTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogJyc7IH1cbiAgLm1vYmlsZS1uYXYgLmpzLWRyaWxsZG93bi1iYWNrIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuICAgIC5tb2JpbGUtbmF2IC5qcy1kcmlsbGRvd24tYmFjayBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5tb2JpbGUtbmF2IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubW9iaWxlLW5hdiBhIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAxLjVlbTtcbiAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAgIC5tb2JpbGUtbmF2IGEgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgIC5pcy1tb2JpbGUtbmF2LW9wZW4gLm1vYmlsZS1uYXYgYSA+IHNwYW4ge1xuICAgICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1pbi1sZWZ0IDFzIGVhc2UgYm90aDsgfVxuICAgIC5pcy1tb2JpbGUtbmF2LW9wZW4gLm1vYmlsZS1uYXYgYSAuaG55LXN2ZyB7XG4gICAgICBhbmltYXRpb246IHNpbXBsZS1mYWRlLWluLXJpZ2h0IDEuNXMgZWFzZSBib3RoOyB9XG4gIC5tb2JpbGUtbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFtcyBsaW5lYXI7IH1cbiAgICAubW9iaWxlLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgbGkgYSA+IHNwYW4ge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOyB9XG4gICAgLm1vYmlsZS1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSBsaS5qcy1kcmlsbGRvd24tYmFjayB7XG4gICAgICBhbmltYXRpb246IHNpbXBsZS1mYWRlLWluLXJpZ2h0IDFzIGVhc2UgYm90aDsgfVxuICAgIC5tb2JpbGUtbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUgbGkgYSA+IHNwYW4ge1xuICAgICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1pbi1yaWdodCAxcyBlYXNlIGJvdGg7IH1cbiAgLm1vYmlsZS1uYXYgLmNvbnRhY3QtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogYXV0bzsgfVxuICAgIC5tb2JpbGUtbmF2IC5jb250YWN0LWxpc3QgYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG5Aa2V5ZnJhbWVzIHNpbXBsZS1mYWRlLWluLWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBzaW1wbGUtZmFkZS1pbi1yaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtb3V0LWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtb3V0LXJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfSB9XG5cbi5tb2JpbGUtdXRpbGl0eV9faXRlbXMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm1vYmlsZS11dGlsaXR5X19pdGVtID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5tb2JpbGUtdXRpbGl0eV9faXRlbSA+IGEgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5pcy1kcmlsbGRvd24tb3BlbiAubW9iaWxlLXV0aWxpdHlfX2l0ZW0gPiBhIHNwYW4ge1xuICBhbmltYXRpb246IHNpbXBsZS1mYWRlLW91dC1sZWZ0IDFzIGVhc2UgYm90aDsgfVxuXG4ucGFkZGVkLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIGJhY2tncm91bmQ6ICM0MDc2MzY7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5wYWRkZWQtYmxvY2sge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAucGFkZGVkLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDVyZW07IH0gfVxuICAucGFkZGVkLWJsb2NrIC5oZWFkaW5nIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5wYWRkZWQtYmxvY2sgLmhlYWRpbmcgYSB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5wYWRkZWQtYmxvY2stLWxlZnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLnBhZGRlZC1ibG9jay0tcmlnaHQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5wYWRkZWQtYmxvY2stLWRhcmsgaDEuaGVhZGluZyxcbiAgLnBhZGRlZC1ibG9jay0tZGFyayBoMi5oZWFkaW5nLFxuICAucGFkZGVkLWJsb2NrLS1kYXJrIGgzLmhlYWRpbmcsXG4gIC5wYWRkZWQtYmxvY2stLWRhcmsgaDQuaGVhZGluZyB7XG4gICAgY29sb3I6ICM0Njk1NEM7IH1cblxuLnBob3RvIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAycmVtO1xuICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDI2LCAyNiwgMjYsIDAuMSksIDAgNnB4IDEycHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTsgfVxuICAucGhvdG8gZmlndXJlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mdWxsLXdpZHRoIC5waG90byB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuY29udGVudC1ibG9ja19fbGF5b3V0LS1mdWxsLXdpZHRoIC5waG90byBmaWd1cmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAucGhvdG8tLWNsZWFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC5waG90by0tY2xlYXIgZmlndXJlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ucHJpY2Uge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmNvbnRlbnQtYmxvY2sgLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gIC5wcmljZV9fbnVtYmVyIHtcbiAgICBjb2xvcjogIzFhMWExYTtcbiAgICBmb250LXNpemU6IDEyNSU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAucHJpY2UtLXNwZWNpYWwgLnByaWNlX19udW1iZXIge1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAucHJpY2VfX251bWJlciBpbnMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wcmljZV9fdW5pdCB7XG4gICAgY29sb3I6ICM4OTkzOUI7IH1cbiAgLnByaWNlIGRlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnByaWNlIGRlbDphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgY29udGVudDogXCJcIjsgfVxuICAucHJpY2UtLXNtYWxsIHtcbiAgICBjb2xvcjogIzg5OTM5QjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcmltYXJ5LW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI2LCAyNiwgMjYsIDAuMikgMCUsICNmZWZlZmUgNjAlKTtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xMSksIDAgMXB4IDNweCByZ2JhKDI2LCAyNiwgMjYsIDAuMDgpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5wcmltYXJ5LW5hdiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wcmltYXJ5LW5hdiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAucHJpbWFyeS1uYXZfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgLnByaW1hcnktbmF2X19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgLnByaW1hcnktbmF2X19pdGVtOm5vdCgucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIpICsgbGk6bm90KC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlcikge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgMjYsIDAuMSk7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAzLjEyNWVtKSB7XG4gICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGEge1xuICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI2LCAyNiwgMjYsIDAuMDUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGEgc3BhbiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbSA+IGEgLmhueS1zdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMC4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDAuNzVlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICAgIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gICAgICAgIGZpbGw6ICM4YThhOGE7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWFjdGl2ZSA+IGE6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoNzAsIDE0OSwgNzYsIDAuMjUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWFjdGl2ZSA+IGEgLmhueS1zdmcge1xuICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLnByaW1hcnktbmF2X19pdGVtLS1hbHQgPiBhIHtcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWFsdCA+IGE6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMXJlbSk7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWFsdC5wcmltYXJ5LW5hdl9faXRlbS0tYWN0aXZlID4gYTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyMDQsIDc1LCA1NSwgMC4yKSAwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIgKyBsaSA+IGEge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjM1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4zNXJlbTsgfVxuICAgICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIgKyBsaSA+IGEgc3BhbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDk5OTk5OyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlciArIGxpID4gYSBzdmcge1xuICAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xuICAgICAgICAgIGZpbGw6ICNmZWZlZmUgIWltcG9ydGFudDsgfVxuICAgICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIgKyBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTM1ZGVnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTVhM2RhO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMTVhM2RhIDAlLCByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMikgMTAwJSk7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlciArIGxpIHVsIHtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlci0tYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiA5OTk5cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMzVkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSg3MCwgMTQ5LCA3NiwgMC4yNSkgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgLnByaW1hcnktbmF2X19pdGVtLS1kaXZpZGVyIH4gLnByaW1hcnktbmF2X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAucHJpbWFyeS1uYXZfX2l0ZW0tLWRpdmlkZXIgfiAucHJpbWFyeS1uYXZfX2l0ZW0gPiBhIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNzVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjY1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIHRleHQtc2hhZG93OiByZ2JhKDI2LCAyNiwgMjYsIDAuNSkgMCAxcHggMXB4OyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlciB+IC5wcmltYXJ5LW5hdl9faXRlbSA+IGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNzVyZW07IH0gfVxuICAgICAgICAgIC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlciB+IC5wcmltYXJ5LW5hdl9faXRlbSA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAucHJpbWFyeS1uYXZfX3N1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIG1hcmdpbjogMC41cmVtIDAgMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI2LCAyNiwgMjYsIDAuMikgMCUsICNmZWZlZmUgNjAlKTtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgyNiwgMjYsIDI2LCAwLjExKSwgMCAxcHggM3B4IHJnYmEoMjYsIDI2LCAyNiwgMC4wOCk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMjVzO1xuICAgIHBlcnNwZWN0aXZlOiAyMDAwcHg7IH1cbiAgICAucHJpbWFyeS1uYXZfX3N1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICAgIC5wcmltYXJ5LW5hdl9fc3VibWVudS1pdGVtID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLnByaW1hcnktbmF2X19zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgIC5wcmltYXJ5LW5hdl9fc3VibWVudS1pdGVtICsgbGkgPiBhIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI2LCAyNiwgMjYsIDAuMSk7IH1cbiAgICAucHJpbWFyeS1uYXZfX3N1Ym1lbnUtaXRlbS0tYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDY5NTRDO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW07IH1cbiAgLmNvbHVtbiAucHJvZHVjdC1jYXRlZ29yaWVzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdC1jYXRlZ29yaWVzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAucHJvZHVjdC1jYXRlZ29yaWVzIC5jZWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllcyAuY2VsbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2ZlZmVmZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC45KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAzNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjE1KTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0ycHg7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMnMsIG9wYWNpdHkgMC4zcztcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4ycywgb3BhY2l0eSAwLjNzO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMsIG9wYWNpdHkgMC4zcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMThweCAzNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjE1KTsgfVxuICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTpob3ZlcjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTpob3ZlciAuaGVhZGluZyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbTpob3ZlciBzcGFuIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtOmhvdmVyIGZpZ3VyZTphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSA+IGZpZ3VyZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiA0MDBtcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtID4gZmlndXJlOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IDMwMG1zO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogMjAwbXM7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSAuaGVhZGluZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSAuaGVhZGluZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIC5oZWFkaW5nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS41cmVtKTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIC5oZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wcm9kdWN0LWNhdGVnb3JpZXNfX2l0ZW0gc3BhbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuNXJlbSkgc2NhbGVZKDAuNSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogNDAwbXM7XG4gICAgICAgICAgb3BhY2l0eTogMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgICAgLnByb2R1Y3QtY2F0ZWdvcmllc19faXRlbSBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMzLjEyNWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaG55IC5wcm9kdWN0LWNhdGVnb3JpZXMgLmdyaWQtY29udGFpbmVyIGRpdi5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUlOyB9IH1cblxuLmhueSAuY29udGVudC1ibG9jayAucHJvZHVjdC1jYXRlZ29yaWVzIC5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ucHJvZHVjdC1nYWxsZXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wcm9kdWN0LWdhbGxlcnlfX3NsaWRlciB7XG4gICAgYm9yZGVyOiAwLjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgICBib3gtc2hhZG93OiAwIDE0cHggMjhweCByZ2JhKDI2LCAyNiwgMjYsIDAuMSksIDAgNnB4IDEycHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnByb2R1Y3QtZ2FsbGVyeV9fc2xpZGVyIC5zd2lwZXItc2xpZGUgZmlndXJlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAucHJvZHVjdC1nYWxsZXJ5X19wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucHJvZHVjdC1nYWxsZXJ5X19wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTEpLCAwIDFweCAzcHggcmdiYSgyNiwgMjYsIDI2LCAwLjA4KTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnByb2R1Y3QtZ2FsbGVyeV9fcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Om9ubHktY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcm9kdWN0LWdhbGxlcnlfX3BhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpub3QoLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAucHJvZHVjdC1nYWxsZXJ5X19wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7IH1cbiAgICAucHJvZHVjdC1nYWxsZXJ5X19wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQgKyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtOyB9XG5cbi5wcm9kdWN0X19nYWxsZXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5wcm9kdWN0X19nYWxsZXJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAucHJvZHVjdF9fZ2FsbGVyeSAud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnByb2R1Y3RfX2hlYWRlciAud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdF9faGVhZGVyIC53b29jb21tZXJjZS1icmVhZGNydW1iIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnByb2R1Y3RfX2hlYWRlciAuaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnByb2R1Y3RfX2hlYWRlciBpbWcge1xuICBtYXgtd2lkdGg6IDI3MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5yZXZlYWwgLnByb2R1Y3RfX2hlYWRlciBpbWcge1xuICAgIG1heC13aWR0aDogMTM1cHg7IH1cblxuLnByb2R1Y3RfX3N1cGVyLXNhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuICAucHJvZHVjdF9fc3VwZXItc2FjayBpbWcge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdF9fc3VwZXItc2FjayBpbWcge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7IH0gfVxuICAucHJvZHVjdF9fc3VwZXItc2FjayB+IGRpdiB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyg4MHB4ICsgMS41cmVtKTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdF9fc3VwZXItc2FjayB+IGRpdiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMTAwcHggKyAxLjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3RfX3ByaWNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wcm9kdWN0X19wcmljZSAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtOyB9IH1cblxuLnJldmVhbCAucHJvZHVjdF9fcHJpY2UgLnByaWNlIHtcbiAgZm9udC1zaXplOiAxLjEyNWVtOyB9XG5cbi5wcm9kdWN0X19wcmljZSAucHJpY2UtLXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3RfX3ByaWNlIC5wcmljZS0tc21hbGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuLnByb2R1Y3RfX2Jsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wcm9kdWN0X19ibG9jayArIC5wcm9kdWN0X19ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMzUwMkM7IH1cbiAgLnJldmVhbCAucHJvZHVjdF9fYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlZmVmZWY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdF9fYmxvY2stLW5vLWJvcmRlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucHJvZHVjdCAuYWRkLXRvLWNhcnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAucHJvZHVjdCAuYWRkLXRvLWNhcnQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnByb2R1Y3QgLmFkZC10by1jYXJ0IGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAucHJvZHVjdCAuYWRkLXRvLWNhcnQgbGFiZWwgPiBzcGFuID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtOyB9IH1cbiAgLnByb2R1Y3QgLmFkZC10by1jYXJ0ID4gZGl2IGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgLnByb2R1Y3QgLmFkZC10by1jYXJ0ID4gZGl2IC5idXR0b24sXG4gIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiAjZ2Rwci1zdWJtaXQge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0IC5hZGQtdG8tY2FydCA+IGRpdiAuYnV0dG9uLFxuICAgICAgLnByb2R1Y3QgLmFkZC10by1jYXJ0ID4gZGl2ICNnZHByLXN1Ym1pdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG5cbi5wcm9kdWN0X19jdGEge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMS41cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEzNywgMTQ3LCAxNTUsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC41KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLnByb2R1Y3RfX2N0YSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAucHJvZHVjdF9fY3RhIHtcbiAgICAgIG1heC13aWR0aDogODUlOyB9IH1cbiAgLnByb2R1Y3RfX2N0YSAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogIzAzNTAyQzsgfVxuICAucHJvZHVjdF9fY3RhIGEge1xuICAgIGNvbG9yOiAjNDY5NTRDOyB9XG4gIC5wcm9kdWN0X19jdGEgLmhueS1zdmcge1xuICAgIGZpbGw6ICM0Njk1NEM7IH1cbiAgLnByb2R1Y3RfX2N0YSAuY29udGFjdC1saXN0LS1waG9uZS1udW1iZXIge1xuICAgIG1hcmdpbjogMC41cmVtIDA7IH1cbiAgICAucHJvZHVjdF9fY3RhIC5jb250YWN0LWxpc3QtLXBob25lLW51bWJlciA+IGxpID4gYSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLnByb2R1Y3RfX2N0YSAuY29udGFjdC1saXN0LS1waG9uZS1udW1iZXIgPiBsaSA+IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtOyB9IH1cblxuLnByb2R1Y3QgLnd5c2l3eWcge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLnJlY2VudC11cGRhdGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgLTEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAucmVjZW50LXVwZGF0ZXMge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4Ljg3Mzc1ZW0pIHtcbiAgICAucmVjZW50LXVwZGF0ZXMgLnBhZGRlZC1ibG9jayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgIC5yZWNlbnQtdXBkYXRlcyAucGFkZGVkLWJsb2NrOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgY29udGVudDogJyc7IH0gfVxuICAucmVjZW50LXVwZGF0ZXMgZmlndXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDY2LjY2NjY3JTtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLnJlY2VudC11cGRhdGVzIGZpZ3VyZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG5cbi8qIGNvbW1vbiAqL1xuLnJpYmJvbiB7XG4gIHotaW5kZXg6IDIwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgIC5yaWJib24ge1xuICAgICAgd2lkdGg6IDIyNXB4O1xuICAgICAgaGVpZ2h0OiAyMjVweDsgfSB9XG5cbi5yaWJib246OmJlZm9yZSxcbi5yaWJib246OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogNXB4IHNvbGlkICM5YjM3Mjc7XG4gIGNvbnRlbnQ6IFwiXCI7IH1cblxuLnJpYmJvbiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIyNXB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgI2NjNGIzNyAwJSwgI2Q2NmY1ZiAxMDAlKTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLnJpYmJvbiBzcGFuIHtcbiAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4OyB9IH1cblxuLyogdG9wIGxlZnQqL1xuLnJpYmJvbi10b3AtbGVmdCB7XG4gIHRvcDogLTFyZW07XG4gIGxlZnQ6IC0xcmVtOyB9XG4gIC5wcm9kdWN0LWdhbGxlcnkgLnJpYmJvbi10b3AtbGVmdCB7XG4gICAgdG9wOiAtMC41cmVtO1xuICAgIGxlZnQ6IC0wLjVyZW07IH1cblxuLnJpYmJvbi10b3AtbGVmdDo6YmVmb3JlLFxuLnJpYmJvbi10b3AtbGVmdDo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5yaWJib24tdG9wLWxlZnQ6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnJpYmJvbi10b3AtbGVmdDo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnJpYmJvbi10b3AtbGVmdCBzcGFuIHtcbiAgdG9wOiA0N3B4O1xuICByaWdodDogLTI4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAucmliYm9uLXRvcC1sZWZ0IHNwYW4ge1xuICAgICAgdG9wOiA3MHB4O1xuICAgICAgcmlnaHQ6IC00N3B4OyB9IH1cblxuLnNlYXJjaC1oZWFkZXJfX2NvdW50IHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5zZWFyY2gtaGVhZGVyX19jb3VudCBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnNpbmdsZS1wb3N0IC5waG90byB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaW5nbGUtcG9zdCAucGhvdG8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5zaXRlLWZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogIzQwNzYzNjtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnNpdGUtZm9vdGVyOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggMTQwcHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLnNpdGUtZm9vdGVyOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICAgICAgY29udGVudDogJyc7IH0gfVxuICAuc2l0ZS1mb290ZXIgYSB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjsgfVxuICAuc2l0ZS1mb290ZXJfX3RvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICAuc2l0ZS1mb290ZXJfX3RvcCBoNS5oZWFkaW5nIHNwYW4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2l0ZS1mb290ZXJfX3RvcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIC5zaXRlLWZvb3Rlcl9fdG9wID4gLmdyaWQtY29udGFpbmVyID4gLmdyaWQteCA+IC5jZWxsIC5jZWxsICsgLmNlbGwge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDQ4Ljg3Mzc1ZW0pIHtcbiAgICAgICAgLnNpdGUtZm9vdGVyX190b3AgPiAuZ3JpZC1jb250YWluZXIgPiAuZ3JpZC14ID4gLmNlbGwgLmNlbGwgKyAuY2VsbCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICAuc2l0ZS1mb290ZXJfX3RvcCA+IC5ncmlkLWNvbnRhaW5lciA+IC5ncmlkLXggPiAuY2VsbCAuY2VsbCArIC5jZWxsIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAuc2l0ZS1mb290ZXJfX3RvcCA+IC5ncmlkLWNvbnRhaW5lciA+IC5ncmlkLXggPiAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnNpdGUtZm9vdGVyX190b3AgPiAuZ3JpZC1jb250YWluZXIgPiAuZ3JpZC14ID4gLmNlbGw6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTEuNXJlbTtcbiAgICAgICAgbGVmdDogLTEuNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguODc1ZW0pIHtcbiAgICAgICAgICAuc2l0ZS1mb290ZXJfX3RvcCA+IC5ncmlkLWNvbnRhaW5lciA+IC5ncmlkLXggPiAuY2VsbDpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH0gfVxuICAgIC5zaXRlLWZvb3Rlcl9fdG9wIC5wYWRkZWQtYmxvY2sge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5zaXRlLWZvb3Rlcl9fdG9wIC5idXR0b24sXG4gICAgLnNpdGUtZm9vdGVyX190b3AgI2dkcHItc3VibWl0IHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgLnNpdGUtZm9vdGVyX190b3AgLmJ1dHRvbixcbiAgICAgICAgLnNpdGUtZm9vdGVyX190b3AgI2dkcHItc3VibWl0IHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAuc2l0ZS1mb290ZXJfX2JvdHRvbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnNpdGUtZm9vdGVyX19ib3R0b20ge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIC5zaXRlLWZvb3Rlcl9fYm90dG9tOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtNXJlbTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMThweCAxNDBweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4xNSk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAtMnJlbTtcbiAgei1pbmRleDogMjAwO1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgLnNpdGUtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnNpdGUtaGVhZGVyOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDEuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMDM1MDJDO1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAzNXB4IHJnYmEoMjYsIDI2LCAyNiwgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjE1KTtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OC44NzVlbSkge1xuICAgICAgLnNpdGUtaGVhZGVyOmJlZm9yZSB7XG4gICAgICAgIGJvdHRvbTogMnJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogIzQwNzYzNjsgfSB9XG4gIC5zaXRlLWhlYWRlcl9fbWFzdGhlYWQge1xuICAgIGZsZXg6IDEgMTsgfVxuICAuc2l0ZS1oZWFkZXJfX3V0aWxpdHkge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gICAgb3JkZXI6IDEwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4Ljg3NWVtKSB7XG4gICAgICAuc2l0ZS1oZWFkZXJfX3V0aWxpdHkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMzUwMkM7IH0gfVxuXG4uc2l0ZS1zZWFyY2gge1xuICBtYXJnaW46IDAgYXV0bztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmhlcm8gLnNpdGUtc2VhcmNoIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDM1cHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKDI2LCAyNiwgMjYsIDAuMTUpOyB9XG4gIC5ob21lIC5oZXJvIC5zaXRlLXNlYXJjaCB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAuc2l0ZS1zZWFyY2hfX2Zvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5zaXRlLXNlYXJjaF9fZm9ybSA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAgIC5zaXRlLXNlYXJjaF9fZm9ybSA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnNpdGUtc2VhcmNoX19pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAxOyB9XG4gICAgLnNpdGUtc2VhcmNoX19pbnB1dCBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjYsIDI2LCAyNiwgMC44KTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgICAubC1tYWluIC5zaXRlLXNlYXJjaF9faW5wdXQgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH1cbiAgICAgIC5zaXRlLXNlYXJjaF9faW5wdXQgaW5wdXRbdHlwZT0ndGV4dCddOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuNzUpOyB9XG4gICAgICAuc2l0ZS1zZWFyY2hfX2lucHV0IGlucHV0W3R5cGU9J3RleHQnXTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjYsIDI2LCAyNiwgMC45NSk7IH1cbiAgLnNpdGUtc2VhcmNoX19zdWJtaXQgYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAubC1tYWluIC5zaXRlLXNlYXJjaF9fc3VibWl0IGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgLnNpdGUtc2VhcmNoX19zdWJtaXQgYnV0dG9uIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtOyB9XG4gICAgICAubC1tYWluIC5zaXRlLXNlYXJjaF9fc3VibWl0IGJ1dHRvbiAuaG55LXN2ZyB7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzFhMWExYSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgYVtocmVmXj0ndGVsJ106YWZ0ZXIsXG4gIGEgW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxYTFhMWE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmhueS1zdmcge1xuICAgIGZpbGw6ICMxYTFhMWEgIWltcG9ydGFudDsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnJlY2VudC11cGRhdGVzIC5ncmlkLXggLmdyaWQteCAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgLnByb2R1Y3QgLmNlbGwuaGlkZS1mb3ItcHJpbnQgKyAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi42LjNcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAaW1wb3J0ICdjb21tb24vZm9udHMnO1xuQGltcG9ydCAnYXV0b2xvYWQvYXV0b2xvYWQnO1xuLy9AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mb3Jtcztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG4vL0BpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbi8vQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbkBpbXBvcnQgJ2NvbW1vbi92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tbW9uL3V0aWwnO1xuQGltcG9ydCAnY29tbW9uL2FuaW1hdGlvbnMnO1xuQGltcG9ydCAnY29tbW9uL2dsb2JhbCc7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci1idW5kbGUubWluLmNzcyc7XG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvanF1ZXJ5LXRvYXN0LXBsdWdpbi9kaXN0L2pxdWVyeS50b2FzdC5taW4uY3NzJztcbkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtbGlnaHRib3gvZGlzdC9zaW1wbGVMaWdodGJveC5taW4uY3NzJztcbkBpbXBvcnQgXCJjb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZHJpbGxkb3duLWN1c3RvbS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fZm9ybXMuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2dmb3Jtcy1jdXN0b20uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2dyaWQuc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX2hlYWRpbmdzLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19pY29ucy5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fbGF5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19yZXZlYWwtY3VzdG9tLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19zaW1wbGUtbGlnaHRib3gtY3VzdG9tLnNjc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL19zbGljay1jdXN0b20uc2Nzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvX3RvYXN0LWN1c3RvbS5zY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9fd3lzaXd5Zy5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fNDA0LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19hcnRpY2xlLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19iYWNrLXRvLXRvcC5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fYnJvY2h1cmVzLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19jYWxjdWxhdG9yLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19jYXJkLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19jYXJlZXIuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2NhcmVlcnMuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2NoZWNrbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fY2hlY2tvdXQuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2NvbG9waG9uLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19jb250YWN0LWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2NvbnRlbnQtYmxvY2tzLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19mYXEtbGlzdC5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fZ2FsbGVyeS5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fZ2Rwci5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fZ2xvYmFsLWFsZXJ0LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19oZWFkZXItdXRpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9faGVyby5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9faG55LWNhcnQuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX2hvdXJzLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19pbmxpbmUtaWNvbi5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fbGlzdGluZy5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fbG9hZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19sb2dvLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19tYXAuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX21hc3RoZWFkLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19taW5pLWNhcnQuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX21vYmlsZS1uYXYuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX21vYmlsZS11dGlsaXR5LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19wYWRkZWQtYmxvY2suc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX3Bob3RvLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19wcmljZS5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fcHJpbWFyeS1uYXYuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX3Byb2R1Y3QtY2F0ZWdvcmllcy5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fcHJvZHVjdC1nYWxsZXJ5LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19wcm9kdWN0LnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19yZWNlbnQtdXBkYXRlcy5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fcmliYm9uLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19zZWFyY2gtaGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19zaW5nbGUtcG9zdC5zY3NzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9fc2l0ZS1mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvX3NpdGUtaGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL19zaXRlLXNlYXJjaC5zY3NzXCI7XG5AaW1wb3J0ICdjb21tb24vcHJpbnQnO1xuLy9AaW1wb3J0ICdjb21tb24vZGVidWcnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtICgxLyRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiAxNDAwcHg7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzAzNTAyQyxcbiAgc2Vjb25kYXJ5OiAjNDA3NjM2LFxuICBzdWNjZXNzOiAjNDY5NTRDLFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogI2VmZWZlZjtcbiRtZWRpdW0tZ3JheTogIzg5OTM5QjtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMxYTFhMWE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRib2R5LWZvbnQtY29sb3I6ICM0ODQ4NDg7XG4kYm9keS1mb250LWZhbWlseTogJ2NhZWNpbGlhLXNhbnMtdGV4dCcsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsICdPeHlnZW4nLCAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsICdGaXJhIFNhbnMnLCAnRHJvaWQgU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxLjVyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDEuNXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDEuNXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwLjM1cmVtO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IHBvaW50ZXI7XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbiRsaWdodC1zZWNvbmRhcnk6ICRzdWNjZXNzLWNvbG9yO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICB0YWJsZXQ6IDc4MnB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyODBweCxcbiAgeHhsYXJnZTogMTY1MHB4LFxuICB3aWRlOiAxOTIwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IHhsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gdGFibGV0IGxhcmdlIHhsYXJnZSB4eGxhcmdlIHdpZGUpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDQ4cHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS4yNTtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAyNiksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIHRhYmxldDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNjgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMzQpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjIpLFxuICApLFxuICB4bGFyZ2U6IChcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxLjVyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3ZlcjogJGJvZHktZm9udC1jb2xvcjtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjI1O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAkaGVhZGVyLWxpbmVoZWlnaHQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDEuMjVlbSAyLjVlbTtcbiRidXR0b24tbWFyZ2luOiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTI1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuODk1cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC44OTVyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IGZhbHNlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkc3VjY2Vzcy1jb2xvcjtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCAwIDJweCAkc3VjY2Vzcy1jb2xvcjtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAxcmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogMDtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogMTAwJTtcbiRyZXZlYWwtbWF4LXdpZHRoOiA5NjBweDtcbiRyZXZlYWwtcGFkZGluZzogM3JlbTtcbiRyZXZlYWwtYm9yZGVyOiAwO1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDQ4cHgsXG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIG1heCB3aWR0aCBjb250YWluZXIsIGRlc2lnbmVkIHRvIGhvdXNlIHlvdXIgZ3JpZCBjb250ZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtY29udGFpbmVyXSAtIGEgd2lkdGggdG8gbGltaXQgdGhlIGNvbnRhaW5lciB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRncmlkLWNvbnRhaW5lci1wYWRkaW5nXSAtIHBhZGRpbmdzIG9mIHRoZSBjb250YWluZXIuXG5AbWl4aW4geHktZ3JpZC1jb250YWluZXIoXG4gICR3aWR0aDogJGdyaWQtY29udGFpbmVyLFxuICAkcGFkZGluZzogJGdyaWQtY29udGFpbmVyLXBhZGRpbmdcbikge1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkcGFkZGluZywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkc2l6ZS1jc3M6IGlmKCRtZyA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWcpfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgIEByZXR1cm4gJGNzcy1zaXplO1xuICB9XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICAkYmFzZTogeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICBmbGV4OiAjeyRiYXNlfTtcblxuICAvLyBTZXQgYmFzZSBzdHlsZXMgZm9yIFwiZnVsbFwiIG9ubHlcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDEpID09ICdudW1iZXInKVxuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMykgPT0gJ251bWJlcicpIHtcbiAgICAgIEByZXR1cm4gKG50aCgkZnJhY3Rpb24sIDEpLCBudGgoJGZyYWN0aW9uLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAobnVsbCwgbnVsbCk7XG59XG5cbi8vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGdpdmVuIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbi4gU3VwcG9ydHMgZm9ybWF0cyBsaWtlIGA1MCVgLCBgMSBvZiAyYCwgYDEgcGVyIDJgIG9yIGAxLzJgLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSBWYWx1ZSB0byB0ZXN0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGFsbG93LW5vLWRlbm9taW5hdG9yIFtmYWxzZV0gLSBJZiBgdHJ1ZWAsIHNpbXBsZSBudW1iZXJzIHdpdGhvdXQgZGVub21pbmF0b3JzIGxpa2UgYDUwYCBhcmUgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsdWVgIHJlcHJlc2VudHMgYSBmcmFjdGlvbiwgYGZhbHNlYCBvdGhlcndpc2UuXG5AZnVuY3Rpb24gemYtaXMtZnJhY3Rpb24oJHZhbHVlLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IGZhbHNlKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCR2YWx1ZSk7XG4gIEByZXR1cm4gbm90KG50aCgkcGFyc2VkLCAxKSA9PSBudWxsXG4gICAgb3IgKG50aCgkcGFyc2VkLCAyKSA9PSBudWxsIGFuZCAkYWxsb3ctbm8tZGVub21pbmF0b3IgPT0gZmFsc2UpKTtcbn1cblxuLy8vIENhbGN1bGF0ZSBhIHBlcmNlbnRhZ2UgZnJvbSBhIGdpdmVuIGZyYWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSwgZm9ybWF0dGVkIGFzIGA1MGAgKHJlbGF0aXZlIHRvIGAkZGVub21pbmF0b3JgKSwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRkZW5vbWluYXRvciAtIERlZmF1bHQgdmFsdWUgdG8gdXNlIGFzIGRlbm9taW5hdG9yIHdoZW4gYCRmcmFjdGlvbmAgcmVwcmVzZW50cyBhbiBhYnNvbHV0ZSB2YWx1ZS5cbkBmdW5jdGlvbiBmcmFjdGlvbi10by1wZXJjZW50YWdlKFxuICAkZnJhY3Rpb24sXG4gICRkZW5vbWluYXRvcjogbnVsbFxuKSB7XG4gICRwYXJzZWQ6IHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbik7XG4gICRwYXJzZWQtbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMSk7XG4gICRwYXJzZWQtZGVub21pbmF0b3I6IG50aCgkcGFyc2VkLCAyKTtcblxuICBAaWYgJHBhcnNlZC1ub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuICBAaWYgJHBhcnNlZC1kZW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAaWYgdHlwZS1vZigkZGVub21pbmF0b3IpID09ICdudW1iZXInIHtcbiAgICAgICRwYXJzZWQtZGVub21pbmF0b3I6ICRkZW5vbWluYXRvcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdFcnJvciB3aXRoIFwiZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgpXCIuIEEgZGVmYXVsdCBcIiRkZW5vbWluYXRvclwiIGlzIHJlcXVpcmVkIHRvIHN1cHBvcnQgYWJzb2x1dGUgdmFsdWVzJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHBhcnNlZC1ub21pbmF0b3IgLyAkcGFyc2VkLWRlbm9taW5hdG9yKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpIC8gMik7XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0pKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiBudWxsLFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kIC5jaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgLmNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiB1bmRlciB0aGUgYC5jb2RlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBjaXRlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkY2l0ZS1jb2xvcjtcbiAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRjaXRlLXBzZXVkby1jb250ZW50O1xuICB9XG59XG5cbi8vLyBBZGQgYmFzaWMgc3R5bGVzIGZvciBhIGNvZGUgaGVscGVyLlxuLy8vIFNlZSBgY29kZS1pbmxpbmVgIGFuZCBgY29kZS1ibG9ja2AgbWl4aW5zLlxuQG1peGluIGNvZGUtc3R5bGUge1xuICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgY29sb3I6ICRjb2RlLWNvbG9yO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gaW5saW5lLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWlubGluZWBcbkBtaXhpbiBjb2RlLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGEgYmxvY2suXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtYmxvY2tgXG5AbWl4aW4gY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcblxuICBwYWRkaW5nOiAkY29kZS1ibG9jay1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkY29kZS1ibG9jay1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgdWwsIG9sIHtcbiAgICAvLyBVc2UgdG8gcmVtb3ZlIG51bWJlcnMgZnJvbSBvcmRlcmVkIGxpc3QgJiBidWxsZXRzIGZyb20gdW5vcmRlcmVkIGxpc3RcbiAgICAmLm5vLWJ1bGxldCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2l0ZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY2l0ZS1ibG9jaztcbiAgfVxuXG4gIC5jb2RlLWlubGluZSB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWlubGluZTtcbiAgfVxuXG4gIC5jb2RlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIC8vIEVuc3VyZSBhIFwiYmxhY2stb24td2hpdGVcIiBwcmludCBieSByZW1vdmluZyBiYWNrZ3JvdW5kcyxcbiAgICAgIC8vIHVzaW5nIGJsYWNrIHRleHQgZXZlcnl3aGVyZSBhbmQgZm9yY2luZyB0aGUgYnJvd3NlciB0byBlY29ub21pemUgaW5rLlxuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGNvbG9yLWFkanVzdDogZWNvbm9teTtcbiAgICAgIH1cbiAgICAgIC8vIE90aGVyd2lzZSwgcHJldmVudCBhbnkgZWNvbm9teSBieSB0aGUgYnJvd3Nlci5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAgIH1cblxuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgQGlmICRwcmludC1ocmVmcyB7XG4gICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuICAgIH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgIC8vIEhlbHBlciB0byByZS1hbGxvdyBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGNlcnRhaW4gZWxlbWVudHMgKGUuZy4gcHJlLCBibG9ja3F1b3RlLCB0cilcbiAgICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3csICYuY2xlYXIge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIHBpbGwgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gbWFyZ2luIGZvciBpdGVtcyBpbiBhIHNpbXBsZSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIHRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS4uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlLCAoJG1lbnUtaXRlbS1jb2xvci1hY3RpdmUsICRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZSkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIG1vZGlmaWVyIGZvciBob3Jpem9udGFsIG9yaWVudGF0aW9uXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBCcmVha3BvaW50IHNwZWNpZmljIHZlcnNpb25zXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS1zaW1wbGUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCYXNlIFN0eWxlc1xuICAgICYuaWNvbnMge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtaWNvbnMtYmFjay1jb21wYXQge1xuICAgICAgJi5pY29uLXRvcCxcbiAgICAgICYuaWNvbi1yaWdodCxcbiAgICAgICYuaWNvbi1ib3R0b20sXG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWNvbiBMZWZ0XG4gICAgJi5pY29uLWxlZnQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEljb24gUmlnaHRcbiAgICAmLmljb24tcmlnaHQge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFRvcFxuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHRvcCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBCb3R0b21cbiAgICAmLmljb24tYm90dG9tIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihib3R0b20pO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgIH1cbiAgICBcbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcblxuICAgICAgLm5lc3RlZCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRuZXN0ZWQtYWxpZ25tZW50OiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY2VudGVyXG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5tZW51LXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdCB7XG4gICAgLm1lbnUtY2VudGVyZWQge1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiJXUtc2NyZWVuLXJlYWRlcixcbi51LXNjcmVlbi1yZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbn1cblxuJXUtY2xlYXJmaXgsXG4udS1jbGVhcmZpeCB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ldS1leHRlcm5hbC1saW5rLFxuLnUtZXh0ZXJuYWwtbGluayB7XG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2V4dGVybmFsLWxpbmsuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC5wYWRkZWQtYmxvY2sgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9leHRlcm5hbC1saW5rLWFsdC5zdmcnKTtcbiAgICB9XG4gIH1cbn1cblxuJXUtYmctY292ZXIsXG4udS1iZy1jb3ZlciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuJXUtYmctY29udGFpbixcbi51LWJnLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuJXUtYmctMTAwLFxuLnUtYmctMTAwIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi51LXN2Zy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG5cbiAgaW1nLFxuICBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLS1sb2dvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSg0NjcuNy81MjMuMSk7XG4gIH1cbn1cblxuJXUtcGhvdG8tYmcsXG4udS1waG90by1iZyB7XG4gIEBleHRlbmQgJXUtYmctY292ZXI7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKDIvMyk7XG5cbiAgJi0tc3F1YXJlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgfVxuXG4gICYtLWV4dGVuZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMTAwdncgKyAxMDAlICsgMS41cmVtKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pO1xuICAgIH1cbiAgfVxuXG4gICYtLWV4dGVuZC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xMDB2dyArIDEwMCUgKyAxLjVyZW0pO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEuNXJlbSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbiIsImh0bWwge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMTA2LjI1JTtcbiAgfVxufVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY29uY3JldGVfc2VhbWxlc3MucG5nJyk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgJi5hZG1pbi1iYXIge1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0NnB4KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7XG4gICAgfVxuICB9XG59XG5cbmEge1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogI3skc2Vjb25kYXJ5LWNvbG9yfTtcbn1cblxuZmlndXJlIHtcbiAgJltkYXRhLWJnXSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYsXG4gICAgKyBmaWd1cmUge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICYubG9hZGVkIHtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIH4gLmxvYWRlcixcbiAgICAgICsgZmlndXJlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxucCB7XG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgfVxufVxuIiwiJHRyYW5zOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRjdWJpYzogYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuJGJ1dHRvbi1ib3gtc2hhZG93OiAwIDRweCA2cHggcmdiYSgkYmxhY2ssIC4xMSksIDAgMXB4IDNweCByZ2JhKCRibGFjaywgLjA4KTtcbiRidXR0b24tYm94LXNoYWRvdy1ob3ZlcjogMCAxNHB4IDI4cHggcmdiYSgkYmxhY2ssIC4xKSwgMCA2cHggMTJweCByZ2JhKCRibGFjaywgLjA4KTtcbiRib3gtc2hhZG93OiAwIDE4cHggMzVweCByZ2JhKCRibGFjaywgMC4yNSksIDAgNXB4IDE1cHggcmdiYSgkYmxhY2ssIDAuMTUpO1xuJGJveC1zaGFkb3ctaG92ZXI6IDAgMThweCAzNXB4IHJnYmEoJGJsYWNrLCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKCRibGFjaywgMC4xNSk7XG4kYm94LXNoYWRvdy1sYXJnZTogMCAxOHB4IDE0MHB4IHJnYmEoJGJsYWNrLCAwLjI1KSwgMCA1cHggMTVweCByZ2JhKCRibGFjaywgMC4xNSk7XG5cbiRsb2dvLXdpZHRoLWxhcmdlOiAyNzVweDtcbiRsb2dvLXdpZHRoLXhsYXJnZTogMzAwcHg7XG4kbG9nby13aWR0aC14eGxhcmdlOiAzNTBweDtcbiIsIi53b29jb21tZXJjZS1icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMC4wMWVtIGN1cnJlbnRDb2xvcjsgLyogb3IgMC4wMWVtIG1pZ2h0IGJlIGJldHRlciAqL1xuICBtYXJnaW46IDAgMCAxLjVyZW07XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gIH1cblxuICA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgPiAuaG55LXN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICB9XG59XG4iLCIuYnV0dG9uLWdyb3VwIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cblxuICAmLS1jZW50ZXJlZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICsgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbixcbi5idXR0b24ge1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICBsZXR0ZXItc3BhY2luZzogMC4xMjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDEuNzVlbTtcbiAgICBoZWlnaHQ6IDEuNzVlbTtcbiAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6IDAuNjtcblxuICAgICsgc3BhbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG4gIH1cblxuICBzcGFuIHtcbiAgICArIC5obnktc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zaXRpb246IDMwMG1zO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMGRlZywgc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTI1JSkgMCUsIHJnYmEoc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDI1JSksIDAuODUpIDk1JSk7XG4gICAgY29udGVudDogJyc7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLmhueS1zdmcge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgfVxuICB9XG5cbiAgJi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIDBkZWcsIHJnYmEoJGJsYWNrLCAwLjUpIDAlLCByZ2JhKCR3aGl0ZSwgMC40KSA3NSUpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gICYuc3VjY2VzcyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYudGlueSB7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAmLmlzLWxvYWRpbmcge1xuICAgID4gc3BhbiB7XG4gICAgICAmOm5vdCgubG9hZGVyKSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgJi5sb2FkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5sb2FkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4iLCIuaXMtZHJpbGxkb3duIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuXG4gIC5pcy1tb2JpbGUtbmF2LW9wZW4gJiB7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgKiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sge1xuICAgICAgPiBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICA+IGEge1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmOkFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJsYWJlbCB7XG4gICYuY2hlY2tib3gge1xuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgICAgICsgc3BhbiB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdyYWRpbyddLFxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgQGV4dGVuZCAldS1zY3JlZW4tcmVhZGVyO1xuXG4gICAgICAmOmNoZWNrZWQge1xuICAgICAgICArIHNwYW4ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggJHByaW1hcnktY29sb3IgaW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJzZWxlY3Qge1xyXG4gIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW0gMC41cmVtIDAuNXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaG55IHtcclxuICAuZ2ZfYnJvd3Nlcl9pZSB7XHJcbiAgICAmLmdmb3JtX3dyYXBwZXIge1xyXG4gICAgICAuZ2Zvcm1fZm9vdGVyIHtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAmLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5nZm9ybV93cmFwcGVyIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgIGgxLFxyXG4gICAgaDIsXHJcbiAgICBoMyB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgfVxyXG5cclxuICAgICYuZ2ZfYnJvd3Nlcl9jaHJvbWUge1xyXG4gICAgICB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHtcclxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmdmX2Jyb3dzZXJfc2FmYXJpIHtcclxuICAgICAgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCB7XHJcbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IC0ycHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmb3JtIHtcclxuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICB9XHJcblxyXG4gICAgLmdmaWVsZF9odG1sIHtcclxuICAgICAgdGFibGUge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgKiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbiAgICAgICYuc3Ryb25nIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5nb29kIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdhcm5pbmctY29sb3I7XHJcbiAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCR3YXJuaW5nLWNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5taXNtYXRjaCxcclxuICAgICAgJi5zaG9ydCxcclxuICAgICAgJi5iYWQge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnQtY29sb3I7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgJi5nZm9ybV90aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nc2VjdGlvbiB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgbGkuZ2ZpZWxkICsgLmdzZWN0aW9uLFxyXG4gICAgbGkuZ2ZtYy1jb2x1bW4gKyAuZ3NlY3Rpb24ge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICYuZ3NlY3Rpb25fdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2lucHV0X2NvbnRhaW5lci5nZmllbGRfdGltZV9hbXBtIHtcclxuICAgICAgc2VsZWN0IHtcclxuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgICYuZ2lucHV0X3Byb2R1Y3RfcHJpY2UsXHJcbiAgICAgICYuZ2lucHV0X3RvdGFsIHtcclxuICAgICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2ZpZWxkX3RpbWVfaG91cixcclxuICAgIC5nZmllbGRfdGltZV9taW51dGUge1xyXG4gICAgICBtYXgtd2lkdGg6IGNhbGMoNHJlbSArIC41cmVtKTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcblxyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGksXHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBAZXh0ZW5kICV1LXNjcmVlbi1yZWFkZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICYuZ2Zvcm1fZmllbGRzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KDY0MSkge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZF9zdWJsYWJlbF9iZWxvdyB7XHJcbiAgICAgIC5naW5wdXRfY29tcGxleCB7XHJcbiAgICAgICAgJi5naW5wdXRfY29udGFpbmVyIHtcclxuICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2lucHV0X2NhcmRleHRyYXMge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ2lucHV0X2NhcmRfc2VjdXJpdHlfY29kZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdmaWVsZCB7XHJcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuXHJcbiAgICAgICY6bm90KC5nZmllbGRfdmlzaWJpbGl0eV9oaWRkZW4pIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2ZpZWxkX2Vycm9yIC5nZmllbGRfbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIHRleHRhcmVhLFxyXG4gICAgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9ZmlsZV0pIHtcclxuICAgICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuZ2lucHV0X3F1YW50aXR5IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICB3aWR0aDogNC4yNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAuZmllbGRfc3VibGFiZWxfYmVsb3csXHJcbiAgICAuZmllbGRfc3VibGFiZWxfYWJvdmUge1xyXG4gICAgICAuZ2lucHV0X2NvbXBsZXgge1xyXG4gICAgICAgICYuZ2lucHV0X2NvbnRhaW5lciB7XHJcbiAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAmLmdmX2xpc3RfaW5saW5lIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAmLmdmaWVsZF9jaGVja2JveCxcclxuICAgICAgICAgICYuZ2ZpZWxkX3JhZGlvIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyBsaSxcclxuICAgICAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCxcclxuICAgICAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIHtcclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNjI1cmVtO1xyXG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xyXG5cclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwLjJlbTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgb3BhY2l0eTogMDtcclxuXHJcbiAgICAgICAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgICAgICArIGxhYmVsIHtcclxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNXB4ICRwcmltYXJ5LWNvbG9yIGluc2V0O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICsgbGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQsXHJcbiAgICAgIHVsLmdmaWVsZF9jaGVja2JveCBsaSB7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2ZpZWxkX2xpc3Qge1xyXG4gICAgICB0aGVhZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGQge1xyXG4gICAgICAgICYuZ2ZpZWxkX2xpc3RfY2VsbCB7XHJcbiAgICAgICAgICBpbnB1dCxcclxuICAgICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRvcF9sYWJlbCB7XHJcbiAgICAgIGRpdi5naW5wdXRfY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAmLmdmaWVsZF9yYWRpbyxcclxuICAgICAgICAgICYuZ2ZpZWxkX2NoZWNrYm94IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGl2IHtcclxuICAgICAgJi52YWxpZGF0aW9uX2Vycm9yIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmdpbnB1dF9jb250YWluZXJfZmlsZXVwbG9hZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcblxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICYubWVkaXVtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5naW5wdXRfcHJldmlldyB7XHJcbiAgICAgIGltZzpub3QoLmdmb3JtX2RlbGV0ZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICYuZ2ZpZWxkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyX2NvbnNlbnQge1xyXG4gICAgICAgICAgLmdmaWVsZF9yZXF1aXJlZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAmLmdmaWVsZF9sYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmVtcHR5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gbGFiZWwge1xyXG4gICAgICAgICAgJi5nZmllbGRfbGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaGlkZGVuX2xhYmVsIHtcclxuICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2VsZWN0LFxyXG4gICAgICAgIHRleHRhcmVhLFxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICArIGxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGV4dGFyZWEge1xyXG4gICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcblxyXG4gICAgICAgICAgLm5vLW1heC1oZWlnaHQgJiB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmdmaWVsZF9lcnJvciB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWltcG9ydGFudDtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4gICAgICAgICAgc2VsZWN0LFxyXG4gICAgICAgICAgdGV4dGFyZWEsXHJcbiAgICAgICAgICBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRhbGVydC1jb2xvcjtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtM3B4IDAgMCAkYWxlcnQtY29sb3I7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQge1xyXG4gICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgJi5nZmllbGRfbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmllbGRfZGVzY3JpcHRpb25fYWJvdmUge1xyXG4gICAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSxcclxuICAgIC5maWVsZF9kZXNjcmlwdGlvbl9iZWxvdyB7XHJcbiAgICAgIC5nZmllbGRfZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xyXG5cclxuICAgICAgICAmLnZhbGlkYXRpb25fbWVzc2FnZSB7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pbnN0cnVjdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5naW5wdXRfY29udGFpbmVyX2RhdGUge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgICYudWktZGF0ZXBpY2tlci10cmlnZ2VyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgcmlnaHQ6IDAuNXJlbTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRvcF9sYWJlbCBpbnB1dC5sYXJnZS5kYXRlcGlja2VyLCAudG9wX2xhYmVsIGlucHV0Lm1lZGl1bS5kYXRlcGlja2VyLCAudG9wX2xhYmVsIGlucHV0LnNtYWxsLmRhdGVwaWNrZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuZ2Zvcm1fYWpheF9zcGlubmVyLFxyXG4gICAgLmdmb3JtLWxvYWRlciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmdmb3JtX3BhZ2VfZm9vdGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICsgLmJ1dHRvbiB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5nZm9ybV9idXR0b24sXHJcbiAgICAgICAgJi5nZm9ybV9uZXh0X2J1dHRvbiB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nZm9ybV9mb290ZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAuZGVub3Rlcy1yZXF1aXJlZCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtY29sb3I7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uLFxyXG4gICAgLmdmb3JtX2Zvb3RlciAuYnV0dG9uLFxyXG4gICAgLmdmb3JtX2Zvb3RlciBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMge1xyXG4gICAgICBwYWRkaW5nOiAxcmVtO1xyXG4gICAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9ZmlsZV0pIHtcclxuICAgICAgICAmLmNob3Nlbi1zZWFyY2gtaW5wdXQge1xyXG4gICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLWNob2ljZXMge1xyXG4gICAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmhueS1kYXRlLXRpbWUtbGlzdCB7XHJcbiAgICAgIHRhYmxlIHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xyXG5cclxuICAgICAgICAgICAgICArIHRkIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5nZm9ybV9kZWxldGUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgLmdyZWNhcHRjaGEtYmFkZ2Uge1xyXG4gICAgei1pbmRleDogOTk5OTk5OTtcclxuICB9XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIC5nZm9ybV93cmFwcGVyIHtcclxuICAgICYuZ3Jhdml0eS10aGVtZSB7XHJcbiAgICAgIC5nZm9ybV9yZXF1aXJlZF9sZWdlbmQge1xyXG4gICAgICAgIEBleHRlbmQgJXUtc2NyZWVuLXJlYWRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZvcm1fc2F2ZWRfbWVzc2FnZSB7XHJcbiAgICAgICAgaW5wdXRbbmFtZT1cImdmb3JtX3NlbmRfcmVzdW1lX2xpbmtfYnV0dG9uXCJdIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZXN1bWVfZm9ybV9saW5rX3dyYXBwZXIge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XHJcblxyXG4gICAgICAgICAgfiBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ2Zvcm1fc2F2ZV9saW5rIHtcclxuICAgICAgICAmLmJ1dHRvbiB7XHJcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblxyXG4gICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmdmb3JtX3NhdmVfbGluayB7XHJcbiAgICAgICAgJixcclxuICAgICAgICAmLmJ1dHRvbiB7XHJcbiAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICAgICAgICY6YmVmb3JlLFxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmdmaWVsZF9zaWduYXR1cmVfY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgKyBkaXYge1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5nZm9ybV92YWxpZGF0aW9uX2Vycm9ycyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW07XHJcblxyXG4gICAgICAgID4gaDIge1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xyXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcblxyXG4gICAgICAgICAgLmdmb3JtLWljb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAudmFsaWRhdGlvbl9tZXNzYWdlLFxyXG4gICAgICAuaW5zdHJ1Y3Rpb24sXHJcbiAgICAgIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvcnMsXHJcbiAgICAgIC52YWxpZGF0aW9uX21lc3NhZ2UsXHJcbiAgICAgIC5pbnN0cnVjdGlvbixcclxuICAgICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2Uge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogOTIlKTtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSxcclxuICAgICAgLmdmaWVsZF92YWxpZGF0aW9uX21lc3NhZ2UsXHJcbiAgICAgIC5kZXNjcmlwdGlvbixcclxuICAgICAgLmdmaWVsZF9kZXNjcmlwdGlvbixcclxuICAgICAgLmluc3RydWN0aW9uIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmdmaWVsZF9lcnJvciB7XHJcbiAgICAgICAgLmdmaWVsZF9yZXBlYXRlcl9jZWxsIGxhYmVsLFxyXG4gICAgICAgIGxhYmVsLFxyXG4gICAgICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBbYXJpYS1pbnZhbGlkPXRydWVdIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFsZXJ0LWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgW2FyaWEtaW52YWxpZD1cInRydWVcIl0gKyBsYWJlbCxcclxuICAgICAgbGFiZWwgKyBbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgY29sb3I6ICRhbGVydC1jb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmdmaWVsZCB7XHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLXR5cGUtY2hvaWNlIHtcclxuICAgICAgICAgICY6bm90KC5nZl9saXN0X2lubGluZSkge1xyXG4gICAgICAgICAgICAuZ2Nob2ljZSB7XHJcbiAgICAgICAgICAgICAgKyAuZ2Nob2ljZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIHtcclxuICAgICAgICAgIC5naW5wdXRfY29tcGxleCB7XHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmdpbnB1dF9jb21wbGV4IHtcclxuICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmdmaWVsZF9sYWJlbCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC4yNTtcclxuICAgICAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCxcclxuICAgICAgICAuZ2Nob2ljZSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG5cclxuICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNWVtIDAgMDtcclxuXHJcbiAgICAgICAgICAgICsgbGFiZWwge1xyXG4gICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICAgICAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5nZm9ybV9mb290ZXIsXHJcbiAgICAgIC5nZm9ybV9wYWdlX2Zvb3RlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICYuZ2Zvcm1fbmV4dF9idXR0b24ge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6bm90KC5nZm9ybV9zYXZlX2xpbmspIHtcclxuICAgICAgICAgICAgZmxleDogMSAxO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYuZ2Zvcm1fYnV0dG9uLFxyXG4gICAgICAgICAgJi5nZm9ybV9uZXh0X2J1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuXHJcbiAgICAgICAgICAgICsgLmdmb3JtX3NhdmVfbGluayB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYuZ2Zvcm1fbmV4dF9idXR0b24ge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuXHJcbiAgICAgICAgICAgICsgLmdmb3JtX3NhdmVfbGluayB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgICAgICAgfiAuZ2Zvcm1fbmV4dF9idXR0b24ge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH4gLmdmb3JtX3NhdmVfbGluayB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5nZm9ybS1sb2FkZXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tc3BhY2luZyAqIDAuNTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuZ3JpZC1jb250YWluZXIge1xuICAmLS1mdWxsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICYtLW5hcnJvdyB7XG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoIC8gMS41O1xuICB9XG5cbiAgJi0tc2xpbSB7XG4gICAgbWF4LXdpZHRoOiA3NjdweDtcbiAgfVxuXG4gICYtLXdpZGUge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIC5obnkgJiB7XG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuXG4gICAgICAmLS1zbWFsbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcblxuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1sYXJnZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtM3JlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTNyZW07XG5cbiAgICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jZWxsIHtcbiAgJi0tZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuIiwiaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDQxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmgxLFxuaDIsXG5oNSB7XG4gIC5oZWFkaW5nX19zdWJoZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5oMSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG5cbiAgLmhlYWRpbmdfX3N1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMC41ZW07XG4gIH1cbn1cblxuaDIge1xuICAuaGVhZGluZ19fc3ViaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxufVxuXG5oNSB7XG4gIGNvbG9yOiAkbGlnaHQtc2Vjb25kYXJ5O1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG5cbiAgLmhlYWRpbmdfX3N1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMC44OTVlbTtcbiAgfVxufVxuXG5oNiB7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmhlYWRpbmcge1xuICAmX19wcmVoZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbmg0IHtcbiAgJi5oZWFkaW5nIHtcbiAgICAuaGVhZGluZ19fcHJlaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuICB9XG59XG5cbiIsIi5obnktc3ZnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC44ZW07XG4gIGhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG5cbiAgcGF0aCB7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICB9XG59XG4iLCIubC1oZXJvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmwtbWFpbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmlzLWNoZWNrb3V0ICYsXG4gIC5jb250ZW50LWNlbnRlcmVkICYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbn1cblxuLmwtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuXG4gICYtLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcblxuICAgIC5oZXJvLS1sYW5kaW5nICYge1xuICAgICAgcGFkZGluZy10b3A6IDdyZW07XG4gICAgfVxuICB9XG5cbiAgJi0teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEwcmVtO1xuICB9XG59XG5cbi5sLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAuY2VsbCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtNTAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTUwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICArIC5zaXRlLWZvb3RlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtY29udGVudCB7XG4gIC5pcy1jaGVja291dCAmLFxuICAuY29udGVudC1jZW50ZXJlZCAmIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAuY29udGVudC1jZW50ZXJlZC5lcnJvcjQwNCAmIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5jaGVja291dCxcbiAgLmZvdXItb2gtZm91cixcbiAgLmNvbnRlbnQtYmxvY2tzIHtcbiAgICAuY29udGVudC1jZW50ZXJlZCAmIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIucGFnaW5hdGlvbiB7XG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgYSxcbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXG4gICAgICAgICYubmV4dCxcbiAgICAgICAgJi5wcmV2IHtcbiAgICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wYWdpbmF0aW9uLXByZXZpb3VzLFxuICAgICAgJi5wYWdpbmF0aW9uLW5leHQge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucmV2ZWFsIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIH1cblxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgIH1cbiAgfVxuXG4gIC5jbG9zZS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NhcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAuaG55LWNhcnRfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zbGJFbGVtZW50IHtcbiAgKiB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuXG4uc2xiT3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnNsYkltYWdlV3JhcCB7XG4gICY6YWZ0ZXIge1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxhcmdlO1xuICB9XG59XG5cbi5zbGJBcnJvdyB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogMCAwLjVyZW0gMCAwO1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1ob3ZlcjtcbiAgb3BhY2l0eTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDQwJTtcbiAgICB3aWR0aDogNDAlO1xuICAgIGhlaWdodDogNDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgd2hpdGU7XG4gICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgd2hpdGU7XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAmLnByZXYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgb3BhY2l0eTogMTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuc2xpY2stc2xpZGVyIHtcbiAgJixcbiAgKiB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbltkYXRhLXNsaWNrLXNsaWRlcl0ge1xuICBbZGF0YS1zbGljay1zbGlkZV0ge1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICBbZGF0YS1zbGljay1zbGlkZV0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgKyAubG9hZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5zbGljay1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi10b3A6IC0xMnB4O1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cbiAgJixcbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgZmlsbDogJHByaW1hcnktY29sb3I7XG4gIH1cblxuICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTAuMjVyZW07XG59XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IC0wLjI1cmVtO1xufVxuIiwiLmpxLXRvYXN0LXNpbmdsZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3ctaG92ZXI7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuXG4gIC5obnktbm90aWNlIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG5cbiAgICAmLS1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHN1Y2Nlc3MtY29sb3IsIDAuOSk7XG4gICAgfVxuXG4gICAgJi0tZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYWxlcnQtY29sb3IsIDAuOSk7XG4gICAgfVxuICB9XG59XG5cbi5obnktbWVzc2FnZSB7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIGJhY2tncm91bmQ6IHJnYmEoJHN1Y2Nlc3MtY29sb3IsIDAuOSk7XG4gIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdy1ob3ZlcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG5cbiAgYSB7XG4gICAgJixcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuIiwiLnd5c2l3eWcge1xuICBhIHtcbiAgICAmW3RhcmdldD0nX2JsYW5rJ106bm90KFtocmVmJD1cIi5wZGZcIl0pIHtcbiAgICAgIEBleHRlbmQgJXUtZXh0ZXJuYWwtbGluaztcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC5hbGlnbmxlZnQge1xuICAgIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAuYWxpZ25jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICB9XG5cbiAgLmFsaWducmlnaHQge1xuICAgIG1hcmdpbjogMC41cmVtIDAgMC41cmVtIDFyZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgLmFsaWdubm9uZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwLjVyZW0gMDtcbiAgfVxuXG4gIC5nYWxsZXJ5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogMC4xNjY2NjY2NjclO1xuICAgICAgbWFyZ2luOiAwIDAgMiU7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiB1bDpub3QoLmNoZWNrbGlzdCk6bm90KC5nZm9ybV9maWVsZHMpOm5vdCguZ2ZpZWxkX2NoZWNrYm94KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcblxuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC40ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuXG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud3AtY2FwdGlvbiB7XG4gICAgPiBmaWdjYXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMDtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgJi53cC1jYXB0aW9uLXRleHQge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIDA7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLmZvdXItb2gtZm91ciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi5hcnRpY2xlIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDE1MHB4ICsgMS41cmVtKTtcbiAgfVxuXG4gICZfX3RodW1ibmFpbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmJhY2stdG8tdG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwLjVyZW07XG4gIGJvdHRvbTogMC41cmVtO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zaXRpb246ICR0cmFucztcbiAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWhvdmVyO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE5OTk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGJvdHRvbTogMXJlbTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5obnktc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBtYXJnaW46IC0xNHB4IDAgMCAtMTNweDtcbiAgICBmaWxsOiAkd2hpdGU7XG4gIH1cblxuICAmLmlzLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cbiIsIi5icm9jaHVyZXMge1xuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgIGZpZ3VyZSB7XG4gICAgICBAZXh0ZW5kICV1LWJnLWNvdmVyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1MCU7XG4gICAgfVxuXG4gICAgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC44KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDEuMjVlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNhbGN1bGF0b3JzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX3VuaXRzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX25vdGljZSB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogJGZvcm0tc3BhY2luZyAvIDIgMCAwO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICBsYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwLFxuICAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICZfX3V0aWxpdHkge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxufVxuXG4uY2FsY3VsYXRvciB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICArICoge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxuXG4gIGVtIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgfVxuXG4gICZfX2Zvcm0ge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4OiAxIDE7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG5cbiAgICAgIGlucHV0LFxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbSAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgICYtLWhhcy1lcnJvciB7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFsZXJ0LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RvdGFscyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIH1cblxuICAmX19wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib2R5LWZvbnQtY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgKyAuY2FsY3VsYXRvcl9fcGxhY2Vob2xkZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19lcnJvciB7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgKyBidXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICYtLWJveCB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcGFkZGluZzogM3JlbTtcbiAgICB9XG5cbiAgICBbdHlwZT0nc3VibWl0J10ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi0tcHJvZHVjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAxLjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMSAwIGF1dG87XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuNyk7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gICZfX3ByaWNlIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBkb3duKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gIH1cblxuICAmX19waG90byB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93LWhvdmVyO1xuXG4gICAgPiBkaXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAZXh0ZW5kICV1LWJnLWNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICArIGZpZ3VyZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jYXJlZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwgMC4zKTtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjUpO1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICArIC5jYXJlZXIge1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBmbGV4OiAxO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBkb3duKSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICArIC5obnktc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogMC43NWVtIDEuNWVtO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jYXJlZXJzIHtcbiAgJl9faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgJl9fYmxvY2sge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICsgLmNhcmVlcnNfX2Jsb2NrIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jaGVja2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgJi0tdHdvLWNvbHVtbiB7XG4gICAgY29sdW1uLWdhcDogMS41cmVtO1xuICAgIGNvbHVtbi1jb3VudDogMjtcblxuICAgIGxpIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB9XG4gIH1cblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygyMHB4ICsgMC41cmVtKTtcblxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgJi0td2FybmluZyB7XG4gICAgICAgIGZpbGw6ICR3YXJuaW5nLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNoZWNrb3V0IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAmX19mb3JtIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcGFkZGluZy1yaWdodDogNXJlbTtcbiAgICB9XG5cbiAgICBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmX19ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgPiBkaXYge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTEuNXJlbTtcbiAgICAgIGxlZnQ6IC0xLjVyZW07XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2l0ZS1zZWFyY2gge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxufVxuIiwiLmNvbG9waG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNztcbiAgei1pbmRleDogMztcblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAmX19sZWdhbGVzZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAubGVnYWwtbmF2IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cblxuICAgICZfX2l0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICsgLmxlZ2FsLW5hdl9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY29udGFjdC1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICYtLWNlbnRlcmVkIHtcbiAgICAuY29udGFjdC1saXN0X19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICA+IC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgICZbZGF0YS1zY3JvbGwtdGFyZ2V0XSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygycmVtICsgMXJlbSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIC5sLWhlYWRlciAmIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMXJlbSArIDAuNXJlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1uby1pY29uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICB9XG5cbiAgICA+IC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgLmwtaGVhZGVyICYge1xuICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG5cbiAgICAgID4gc3BhbixcbiAgICAgID4gc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgPiBzdHJvbmcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tcGhvbmUtbnVtYmVyIHtcbiAgICA+IGxpIHtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXBob25lLW51bWJlcnMge1xuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgKyAuY29udGFjdC1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIH1cbn1cbiIsIi5jb250ZW50LWJsb2NrIHtcbiAgJjpub3QoLmNvbnRlbnQtYmxvY2stLW5vLXNwYWNpbmcpOm5vdCguY29udGVudC1ibG9jay0tYmFja2dyb3VuZCkge1xuICAgICsgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgJjpub3QoLmNvbnRlbnQtYmxvY2stLW5vLXNwYWNpbmcpOm5vdCguY29udGVudC1ibG9jay0tYmFja2dyb3VuZCkge1xuICAgICAgICAubC1jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tbm8tc3BhY2luZyB7XG4gICAgLmwtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJi0tYmFja2dyb3VuZCB7XG4gICAgJi0td2hpdGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICYtLWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMCAwIDEwMCU7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICZfX2xheW91dCB7XG4gICAgJi0tdHdvLWNvbHVtbixcbiAgICAmLS10aHJlZS1jb2x1bW4sXG4gICAgJi0tZm91ci1jb2x1bW4sXG4gICAgJi0tZml2ZS1jb2x1bW4ge1xuICAgICAgLmNlbGwge1xuICAgICAgICArIC5jZWxsIHtcbiAgICAgICAgICAuY29udGVudC1ibG9ja19fY29sdW1uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10aHJlZS1jb2x1bW4sXG4gICAgJi0tZm91ci1jb2x1bW4sXG4gICAgJi0tZml2ZS1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgLmdyaWQteCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10d28tY29sdW1uIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCgybiszKSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgybis0KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdGhyZWUtY29sdW1uIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCg2bis0KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg2bis1KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg2bis2KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZm91ci1jb2x1bW4ge1xuICAgICAgLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICY6bnRoLWNoaWxkKDhuKzUpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDhuKzYpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDhuKzcpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDhuKzgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1maXZlLWNvbHVtbiB7XG4gICAgICAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoMTBuKzYpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDEwbis3KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgxMG4rOCksXG4gICAgICAgICAgJjpudGgtY2hpbGQoMTBuKzkpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDEwbisxMCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoIC8gMS40O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi0tY2VudGVyZWQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbHVtbiB7XG4gICAgLmNvbnRlbnQtYmxvY2stLWNlbnRlcmVkIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLXR3by1jb2x1bW4gJiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21vZHVsZTpub3QoLmNvbnRlbnQtYmxvY2tfX21vZHVsZS0taGVhZGluZykge1xuICAgICsgLmNvbnRlbnQtYmxvY2tfX21vZHVsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX21vZHVsZSB7XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAmX19jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX19tb2R1bGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgLmNvbnRlbnQtYmxvY2tfX21vZHVsZSB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmLmNvbnRlbnQtYmxvY2tfX21vZHVsZS0tcHJpY2UsXG4gICAgICAgICYuY29udGVudC1ibG9ja19fbW9kdWxlLS1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcudHJhY3Rvci10cnVjayB7XG4gICAgbWFyZ2luLWJvdHRvbTogI3stJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICogMn07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAxMjUlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTZyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTI1JTtcbiAgICB9XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAuY29udGVudC1ibG9ja19fbGF5b3V0LS10aHJlZS1jb2x1bW4ge1xuICAgICAgLmlzLXJlY3ljbGluZy1jZW50cmUtbGFuZGluZyAmIHtcbiAgICAgICAgLmNlbGwge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQgb25seSkge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0IG9ubHkpIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZmFxLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdGluZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxleDogMSAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2dyb3VwIHtcbiAgICAmX193cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg3MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAuZmFxLWxpc3RfX2dyb3VwIHtcbiAgICAgIC5mYXEtbGlzdF9fZ3JvdXBfX2lubmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuXG4gICAgJl9faW5uZXIge1xuICAgICAgPiBkaXYge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgPiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwIDAgMS41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAwLjc1ZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuM2VtO1xuICAgICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMnJlbSAycmVtIDJyZW0gNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuNyk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgMGRlZywgcmdiYSgkd2hpdGUsIDApLCByZ2JhKCR3aGl0ZSwgMC41KSAxMDAlKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICB9XG5cbiAgICAgICsgbGkge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3F1ZXN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTJyZW07XG4gICAgICBsZWZ0OiAtNXJlbTtcbiAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTJyZW07XG4gICAgICBsZWZ0OiAtNXJlbTtcbiAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC4xKTtcbiAgICAgIGNvbnRlbnQ6ICdRJztcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fcXVlc3Rpb24sXG4gICZfX2Fuc3dlciB7XG4gICAgJjphZnRlciB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIH1cbiAgfVxuXG4gICZfX2Fuc3dlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTVyZW07XG4gICAgICB3aWR0aDogNHJlbTtcbiAgICAgIGNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgIGNvbnRlbnQ6ICdBJztcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvKlxuICBTaHVmZmxlIG5lZWRzIGVpdGhlciByZWxhdGl2ZSBvciBhYnNvbHV0ZSBwb3NpdGlvbmluZyBvbiB0aGUgY29udGFpbmVyXG4gIEl0IHdpbGwgc2V0IGl0IGZvciB5b3UsIGJ1dCBpdCdsbCBjYXVzZSBhbm90aGVyIHN0eWxlIHJlY2FsY3VsYXRpb24gYW5kIGxheW91dC5cbiAgQUtBIHdvcnNlIHBlcmZvcm1hbmNlIC0gc28ganVzdCBzZXQgaXQgaGVyZVxuICovXG4uZ2FsbGVyeSB7XG4gICZfX2dyaWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDAuNzVyZW0pO1xuXG4gICAgLm1lZGl1bS0zIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuMTg3NXJlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZmlsdGVycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjM1cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX3NpemVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICA+IGRpdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLnNxdWFyZSB7XG4gICAgICA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmLm1lZGl1bS0zIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlICsgMC45Mzc1cmVtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhhbGYge1xuICAgICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJyZW07XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbGlnaHQtZ3JheSwgMC41KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmxvYWRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gIH1cblxuICBmaWd1cmUge1xuICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWluLXdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG4gICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDIvMyk7XG4gICAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAwLjc1cmVtO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICZfX3N1YmhlYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5nZHByIHtcbiAgJl9fZ3JpZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICB9XG4gIH1cblxuICAmX19ib3gge1xuICAgICsgLmdkcHJfX2JveCB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuMDYyNWVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgICBmbGV4OiAxIDE7XG5cbiAgICAgICsgLmdkcHJfX2JveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgkbWVkaXVtLWdyYXksIDAuMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjUpO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgICAgZmxleDogMSAxO1xuXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxcmVtO1xuICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2Nvb2tpZS1sYXctaW5mby1iYXIge1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcbn1cblxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaDIsXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cblxuICAuZ2Rwci1ub3RpY2Uge1xuICAgICsgaDMge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgKyBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbixcbiNnZHByLXN1Ym1pdCB7XG4gIEBpbmNsdWRlIGJ1dHRvbjtcbiAgQGV4dGVuZCAuYnV0dG9uO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogM3B4IHNvbGlkICR3aGl0ZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcblxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuXG4uaG55IHtcbiAgLmNvb2tpZWxhd2luZm8tcm93LWNhdC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgdGJvZHkge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5nbG9iYWwtYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICRhbGVydC1jb2xvcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG4gIHotaW5kZXg6IDk5OTk4O1xuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2NTApIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgfVxuXG4gICZfX3V0aWxpdHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuYnV0dG9uLnRpbnkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg2NTAgZG93bikge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5oZWFkZXItdXRpbGl0eSB7XG4gIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC43NSk7XG5cbiAgLmhueS1zdmcge1xuICAgIHdpZHRoOiAxLjVlbTtcbiAgICBoZWlnaHQ6IDEuNWVtO1xuXG4gICAgJi0tZmFjZWJvb2sge1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbixcbiAgYSB7XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMC44OTVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC44OTVyZW07XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTI1ZW07XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5uYXZidXJnZXIge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1jb2xvcjtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGxvZ28td2lkdGgtbGFyZ2U7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRsb2dvLXdpZHRoLXh4bGFyZ2U7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBvbmx5KSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJjpub3QoLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0ge1xuICAgICAgJjpub3QoLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuODk1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhvbWUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWRpdmlkZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cblxuICAgICAgfiAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICYuaGVhZGVyLXV0aWxpdHlfX2l0ZW0tLWNvbnRhY3Qge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDIwIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oZWFkZXItdXRpbGl0eV9faXRlbS0tZmFjZWJvb2sge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmhlYWRlci11dGlsaXR5X19pdGVtLS1kaXZpZGVyKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKyAuaGVhZGVyLXV0aWxpdHlfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2l0ZS1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxhcmdlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICZfX2lucHV0IHtcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgfVxuXG4gICAgLmlzLXNlYXJjaC1vcGVuICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiA0LjVyZW07XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgOHB4IDhweCA4cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkd2hpdGUgdHJhbnNwYXJlbnQ7XG4gICAgICBjb250ZW50OiAnJztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLXNlYXJjaC1vcGVuICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxNXB4IHJnYmEoJGJsYWNrLCAwLjkpO1xuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyA0NCAqIDI3ICsgMTBweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkgLyA0NCAqIDI3ICsgMTBweCk7XG4gICAgfVxuXG4gICAgLmhlcm8tLWxhbmRpbmcgJiB7XG4gICAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDhyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWhvbWUge1xuICAgIHBhZGRpbmctdG9wOiAzNSU7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjUlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjByZW07XG4gICAgfVxuICB9XG5cbiAgJi0tbGFuZGluZyB7XG4gICAgQGV4dGVuZCAldS1iZy1jb3ZlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAmX19zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICY6bm90KC5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkKSB7XG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2lwZXItY29udGFpbmVyLWluaXRpYWxpemVkIHtcbiAgICAgIC5zd2lwZXItc2xpZGU6bm90KC5zd2lwZXItc2xpZGUtYWN0aXZlKSB7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgKyAuY29udGVudC1ibG9ja3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICA+IC5jb250ZW50LWJsb2NrOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wcm9kdWN0LWNhdGVnb3JpZXMge1xuICAgICAgICBtYXJnaW4tdG9wOiAtM3JlbTtcblxuICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAucHJvZHVjdC1jYXRlZ29yaWVzX19pdGVtIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNTAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTUwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmaWd1cmUge1xuICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIuaG55LWNhcnQge1xuICAucmV2ZWFsICYge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgKyAuaG55LWNhcnRfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgICAgJi0tdG90YWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgIH1cblxuICAgICAgLnJldmVhbCAmIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogc2NhbGUtY29sb3IoJGxpZ2h0LWdyYXksICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLS1wcm9kdWN0IHtcbiAgICAgIC5obnktY2FydF9faXRlbS1pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdG90YWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJi0tZW1wdHkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX3RvdGFsIHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gICZfX2l0ZW0tcmVtb3ZlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBwYWRkaW5nOiAwLjEyNWVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogJGFsZXJ0LWNvbG9yO1xuICAgICAgZmlsbDogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtLWRldGFpbHMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9faXRlbS1xdWFudGl0eSxcbiAgJl9faXRlbS1wcmljZSB7XG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgfVxuXG4gICZfX2l0ZW0tcGhvdG8ge1xuICAgIG1heC13aWR0aDogNTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXg6IDAgMCA1MHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tdG90YWwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgJl9faXRlbS11dGlsaXR5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGJ1dHRvbiB7XG4gICAgICArIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgZmlsbDogJG1lZGl1bS1ncmF5O1xuXG4gICAgICAmLS1jaGVjayB7XG4gICAgICAgIGZpbGw6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLS11bmRvIHtcbiAgICAgICAgZmlsbDogJHdhcm5pbmctY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS1lZGl0b3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgLmlzLWVkaXRpbmcgJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMCAwIDAuNXJlbTtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgKyBkaXYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICArIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5pcy1lZGl0aW5nICYge1xuICAgICAgPiBkaXY6bm90KC5obnktY2FydF9faXRlbS1lZGl0b3IpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmlubGluZS1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgKiB7XG4gICAgKyAuaG55LXN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICB9XG4gIH1cblxuICAuaG55LXN2ZyB7XG4gICAgd2lkdGg6IDAuNzVlbTtcbiAgICBoZWlnaHQ6IDAuNzVlbTtcblxuICAgICsgKiB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICB9XG5cbiAgICAmLS1jaGVjayB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxucC5sZWFkIHtcbiAgJi5pbmxpbmUtaWNvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgIHNwYW4ge1xuICAgICAgKyAuaG55LXN2ZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDEuNzVlbTtcbiAgICAgIG1heC13aWR0aDogMS43NWVtO1xuICAgICAgaGVpZ2h0OiAxLjc1ZW07XG4gICAgICBwYWRkaW5nOiAwLjI1ZW07XG4gICAgICBmbGV4OiAwIDAgMS43NWVtO1xuXG4gICAgICArIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmxpc3Rpbmcge1xuICAmLS1wb3N0IHtcbiAgICAuY2VsbCB7XG4gICAgICArIC5jZWxsIHtcbiAgICAgICAgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoJG1lZGl1bS1ncmF5LCAwLjMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgKyAubGlzdGluZ19faXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2Jsb2NrIHtcbiAgICArIC5saXN0aW5nX19ibG9jayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRtZWRpdW0tZ3JheSwgMC4zKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5sb2FkZXItb3ZlcmxheSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwMDAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLmlzLWxvYWRpbmcgJiB7XG4gICAgY3Vyc29yOiB3YWl0O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gIC5sb2FkZXIge1xuICAgIGNvbG9yOiAkbGlnaHQtc2Vjb25kYXJ5O1xuICB9XG59XG5cbi5sb2FkZXIge1xuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgYW5pbWF0aW9uOiBvcGFjaXR5Y2hhbmdlIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGFuaW1hdGlvbjogb3BhY2l0eWNoYW5nZSAxcyBlYXNlLWluLW91dCAwLjMzcyBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICBhbmltYXRpb246IG9wYWNpdHljaGFuZ2UgMXMgZWFzZS1pbi1vdXQgMC42NnMgaW5maW5pdGU7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgb3BhY2l0eWNoYW5nZSB7XG4gIDAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4iLCIubG9nbyB7XG4gID4gYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAwZGVnLCByZ2JhKCRibGFjaywgMC4xNSkgMCUsICR3aGl0ZSA2MCUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogMS41cmVtIDEuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5tYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkd2hpdGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjk1KTtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgZmlndXJlIHtcbiAgICBAZXh0ZW5kICV1LWJnLWNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX19sb2NhdGlvbiB7XG4gICAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAyMHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogNnJlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjkpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgNzVweCByZ2JhKCRibGFjaywgMC40KSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNC41cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICBib3JkZXItd2lkdGg6IDE1cHggMTVweCAwIDE1cHg7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgkd2hpdGUsIDAuOSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMTVweCAxNXB4IDE1cHggMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJnYmEoJHdoaXRlLCAwLjkpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFzdGhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgZmxleDogMCAwIDEwMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgIC5sb2dvIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogODJweDtcbiAgICAgICAgaGVpZ2h0OiA3M3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgZmxleDogMCAwIDE1MHB4O1xuXG4gICAgICAubG9nbyB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDEyNHB4O1xuICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgZmxleDogMCAwIDEyMHB4O1xuXG4gICAgICAubG9nbyB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDk0cHg7XG4gICAgICAgICAgaGVpZ2h0OiA4M3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoI3skbG9nby13aWR0aC1sYXJnZX0gLSAzcmVtKTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDE1NnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygjeyRsb2dvLXdpZHRoLXhsYXJnZX0gLSAzcmVtKTtcblxuICAgICAgLmxvZ28ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7JGxvZ28td2lkdGgteHhsYXJnZX0gLSAzcmVtKTtcbiAgICB9XG4gIH1cblxuICAmX19uYXYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGxvZ28td2lkdGgtbGFyZ2U7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRsb2dvLXdpZHRoLXh4bGFyZ2U7XG4gICAgfVxuXG4gICAgLm5hdmJ1cmdlciB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhY3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjc1KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoOTAwKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1NXB4O1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAuaG55ICYge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAuY29udGFjdC1saXN0LS1waG9uZS1udW1iZXJzIHtcbiAgICAgIC5jb250YWN0LWxpc3RfX2l0ZW0ge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWluaS1jYXJ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMThweDtcblxuICAuaG55LXN2ZyB7XG4gICAgLmhlYWRlci11dGlsaXR5ICYge1xuICAgICAgd2lkdGg6IDIuNjI1ZW07XG4gICAgICBoZWlnaHQ6ICN7Mi42MjVlbSAvIDIuMTUwNTM3NjM0NDA4NjAyfTtcbiAgICB9XG4gIH1cblxuICA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LXNlY29uZGFyeTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cbiIsIi5tb2JpbGUtbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMHZ3O1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogY2FsYyh2YXIoLS12aCwgMXZoKSAqIDEwMCk7XG4gIHBhZGRpbmc6IDI2cHggMzNweCAyNnB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5OTk5OTk5O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuaXMtbW9iaWxlLW5hdi1vcGVuICYge1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcblxuICAgIC5tb2JpbGUtbmF2X19pdGVtLS1kaXZpZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1kcmlsbGRvd24tb3BlbiB7XG4gICAgLm1vYmlsZS1uYXZfX2l0ZW0ge1xuICAgICAgPiBhIHtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBhbmltYXRpb246IHNpbXBsZS1mYWRlLW91dC1sZWZ0IDFzIGVhc2UgYm90aDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gLmhueS1zdmcge1xuICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtb3V0LXJpZ2h0IDFzIGVhc2UgYm90aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kcmlsbGRvd24ge1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDEuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIH1cbiAgfVxuXG4gID4gYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDE3cHggMjRweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMjBweDtcblxuICAgICAgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDJweDtcbiAgICAgICAgaGVpZ2h0OiA5MXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgLmhueS1zdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IC41cztcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcblxuICAgICAgICAuaXMtbW9iaWxlLW5hdi1vcGVuICYge1xuICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtaW4tbGVmdCAxcyBlYXNlIGJvdGg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1oYXMtc3VibWVudSB7XG4gICAgICA+IGEge1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDAuMzI1ZW07XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5qcy1kcmlsbGRvd24tYmFjayB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmhueS1zdmcge1xuICAgICAgd2lkdGg6IDEuNWVtO1xuICAgICAgaGVpZ2h0OiAxLjVlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuXG4gICAgLmlzLW1vYmlsZS1uYXYtb3BlbiAmIHtcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtaW4tbGVmdCAxcyBlYXNlIGJvdGg7XG4gICAgICB9XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzaW1wbGUtZmFkZS1pbi1yaWdodCAxLjVzIGVhc2UgYm90aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxbXMgbGluZWFyO1xuXG4gICAgbGkge1xuICAgICAgYSB7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBsaSB7XG4gICAgICAgICYuanMtZHJpbGxkb3duLWJhY2sge1xuICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtaW4tcmlnaHQgMXMgZWFzZSBib3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtaW4tcmlnaHQgMXMgZWFzZSBib3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtaW4tbGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSlcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICB9XG59XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtaW4tcmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSlcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKVxuICB9XG59XG5cbkBrZXlmcmFtZXMgc2ltcGxlLWZhZGUtb3V0LWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpXG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpXG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaW1wbGUtZmFkZS1vdXQtcmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpXG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSlcbiAgfVxufVxuIiwiLm1vYmlsZS11dGlsaXR5IHtcbiAgJl9faXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDAuMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1kcmlsbGRvd24tb3BlbiAmIHtcbiAgICAgID4gYSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGFuaW1hdGlvbjogc2ltcGxlLWZhZGUtb3V0LWxlZnQgMXMgZWFzZSBib3RoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFkZGVkLWJsb2NrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHotaW5kZXg6IDE7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDVyZW07XG4gIH1cblxuICAuaGVhZGluZyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLS1sZWZ0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gICYtLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmLS1kYXJrIHtcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCB7XG4gICAgICAmLmhlYWRpbmcge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LXNlY29uZGFyeTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5waG90byB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbiAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93LWhvdmVyO1xuXG4gIGZpZ3VyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5jb250ZW50LWJsb2NrX19sYXlvdXQtLWZ1bGwtd2lkdGggJiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICBmaWd1cmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAmLS1jbGVhciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICBmaWd1cmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcblxuICAuY29udGVudC1ibG9jayAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX251bWJlciB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuICAgIC5wcmljZS0tc3BlY2lhbCAmIHtcbiAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgfVxuXG4gICAgaW5zIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX191bml0IHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICB9XG5cbiAgZGVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfVxuXG4gICYtLXNtYWxsIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB9XG59XG4iLCIucHJpbWFyeS1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAwZGVnLCByZ2JhKCRibGFjaywgMC4yKSAwJSwgJHdoaXRlIDYwJSk7XG4gIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAmX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICY6bm90KC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlcikge1xuICAgICAgKyBsaSB7XG4gICAgICAgICY6bm90KC5wcmltYXJ5LW5hdl9faXRlbS0tZGl2aWRlcikge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMC43NXJlbTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAwZGVnLCByZ2JhKCRibGFjaywgMC4wNSkgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDAuMjVyZW07XG4gICAgICAgIHdpZHRoOiAwLjc1ZW07XG4gICAgICAgIGhlaWdodDogMC43NWVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICBmaWxsOiAkZGFyay1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICA+IGEge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgIDBkZWcsIHJnYmEoJHN1Y2Nlc3MtY29sb3IsIDAuMjUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWFsdCB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJGFsZXJ0LWNvbG9yO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxcmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnByaW1hcnktbmF2X19pdGVtLS1hY3RpdmUge1xuICAgICAgICA+IGEge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgIDBkZWcsIHJnYmEoJGFsZXJ0LWNvbG9yLCAwLjIpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgJi0tZGl2aWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgICsgbGkge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTk5O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICAgICAgICAgIGZpbGw6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTM1ZGVnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNWEzZGE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAgICAgMGRlZywgIzE1YTNkYSAwJSwgcmdiYSgkd2hpdGUsIDAuMikgMTAwJSk7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICAmLS1hY3RpdmUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDk5OTlweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMzVkZWcpO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgMGRlZywgcmdiYSgkc3VjY2Vzcy1jb2xvciwgMC4yNSkgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLnByaW1hcnktbmF2X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi43NXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNjVyZW07XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogcmdiYSgkYmxhY2ssIDAuNSkgMCAxcHggMXB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMy43NXJlbTtcbiAgICAgICAgICB9XG5cblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAwZGVnLCByZ2JhKCRibGFjaywgMC4yKSAwJSwgJHdoaXRlIDYwJSk7XG4gICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjI1cztcbiAgICBwZXJzcGVjdGl2ZTogMjAwMHB4O1xuXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICA+IGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICsgbGkge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4xKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtaXRlbS0tYWN0aXZlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzdWNjZXNzLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gIG1hcmdpbi1ib3R0b206IC0xLjVyZW07XG5cbiAgLmNvbHVtbiAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXNoYWRvdzogMCAwIDE1cHggcmdiYSgkYmxhY2ssIDAuOSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0ycHg7XG4gICAgICBsZWZ0OiAtMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMnMsIG9wYWNpdHkgMC4zcztcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4ycywgb3BhY2l0eSAwLjNzO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMsIG9wYWNpdHkgMC4zcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctaG92ZXI7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICBmaWd1cmUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgPiBmaWd1cmUge1xuICAgICAgQGV4dGVuZCAldS1iZy1jb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IDQwMG1zO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogMzAwbXM7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogMjAwbXM7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwIGRvd24pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxLjVyZW0pO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNDAwIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS41cmVtKSBzY2FsZVkoMC41KTtcbiAgICAgICAgdHJhbnNpdGlvbjogNDAwbXM7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaG55IHtcbiAgLnByb2R1Y3QtY2F0ZWdvcmllcyB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIGRpdi5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg1MzApIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtYmxvY2sge1xuICAgIC5wcm9kdWN0LWNhdGVnb3JpZXMge1xuICAgICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3QtZ2FsbGVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19zbGlkZXIge1xuICAgIGJvcmRlcjogMC41cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93LWhvdmVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIEBleHRlbmQgJXUtYmctY292ZXI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcGFnaW5hdGlvbiB7XG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXN3aXBlci10aGVtZS1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgICsgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByb2R1Y3Qge1xuICAmX19nYWxsZXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAud29vY29tbWVyY2UtYnJlYWRjcnVtYiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWIge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgLnJldmVhbCAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdXBlci1zYWNrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogODBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgfiBkaXYge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyg4MHB4ICsgMS41cmVtKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEwMHB4ICsgMS41cmVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19wcmljZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgLnByaWNlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICB9XG5cbiAgICAgIC5yZXZlYWwgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICAgIH1cblxuICAgICAgJi0tc21hbGwge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICsgLnByb2R1Y3RfX2Jsb2NrIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgLnJldmVhbCAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgICYtLW5vLWJvcmRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLmFkZC10by1jYXJ0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQgb25seSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCBvbmx5KSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY3RhIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgkbWVkaXVtLWdyYXksIDAuMyk7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuNSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQgZG93bikge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDogODUlO1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgZmlsbDogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtbGlzdC0tcGhvbmUtbnVtYmVyIHtcbiAgICAgIG1hcmdpbjogMC41cmVtIDA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICA+IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53eXNpd3lnIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cbn1cbiIsIi5yZWNlbnQtdXBkYXRlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIC0xLjVyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAucGFkZGVkLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZmlndXJlIHtcbiAgICBAZXh0ZW5kICV1LWJnLWNvdmVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcGVyY2VudGFnZSgyLzMpO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8qIGNvbW1vbiAqL1xuLnJpYmJvbiB7XG4gIHotaW5kZXg6IDIwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIHdpZHRoOiAyMjVweDtcbiAgICBoZWlnaHQ6IDIyNXB4O1xuICB9XG59XG5cbi5yaWJib246OmJlZm9yZSxcbi5yaWJib246OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogNXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRhbGVydC1jb2xvciwgJGxpZ2h0bmVzczogLTI1JSk7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5yaWJib24gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMjVweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogJGFsZXJ0LWNvbG9yO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgJGFsZXJ0LWNvbG9yIDAlLCBzY2FsZS1jb2xvcigkYWxlcnQtY29sb3IsICRsaWdodG5lc3M6IDIwJSkgMTAwJSk7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIH1cbn1cblxuLyogdG9wIGxlZnQqL1xuLnJpYmJvbi10b3AtbGVmdCB7XG4gIHRvcDogLTFyZW07XG4gIGxlZnQ6IC0xcmVtO1xuXG4gIC5wcm9kdWN0LWdhbGxlcnkgJiB7XG4gICAgdG9wOiAtMC41cmVtO1xuICAgIGxlZnQ6IC0wLjVyZW07XG4gIH1cbn1cblxuLnJpYmJvbi10b3AtbGVmdDo6YmVmb3JlLFxuLnJpYmJvbi10b3AtbGVmdDo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucmliYm9uLXRvcC1sZWZ0OjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4ucmliYm9uLXRvcC1sZWZ0OjphZnRlciB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuLnJpYmJvbi10b3AtbGVmdCBzcGFuIHtcbiAgdG9wOiA0N3B4O1xuICByaWdodDogLTI4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICB0b3A6IDcwcHg7XG4gICAgcmlnaHQ6IC00N3B4O1xuICB9XG59XG4iLCIuc2VhcmNoLWhlYWRlciB7XG4gICZfX2NvdW50IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5zaW5nbGUtcG9zdCB7XG4gIC5waG90byB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIuc2l0ZS1mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDVyZW07XG4gICAgbWFyZ2luLXRvcDogLTVyZW07XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctbGFyZ2U7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgJl9fdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgei1pbmRleDogMztcblxuICAgIGg1LmhlYWRpbmcge1xuICAgICAgc3BhbiB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgID4gLmdyaWQtY29udGFpbmVyIHtcbiAgICAgID4gLmdyaWQteCB7XG4gICAgICAgID4gLmNlbGwge1xuICAgICAgICAgIC5jZWxsIHtcbiAgICAgICAgICAgICsgLmNlbGwge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAtMS41cmVtO1xuICAgICAgICAgICAgICBsZWZ0OiAtMS41cmVtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFkZGVkLWJsb2NrIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTVyZW07XG4gICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zaXRlLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogLTJyZW07XG4gIHotaW5kZXg6IDIwMDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDEuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdztcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBib3R0b206IDJyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICZfX21hc3RoZWFkIHtcbiAgICBmbGV4OiAxIDE7XG4gIH1cblxuICAmX191dGlsaXR5IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICAgIG9yZGVyOiAxMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG59XG5cbiIsIi5zaXRlLXNlYXJjaCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5oZXJvICYge1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICB9XG5cbiAgLmhvbWUgLmhlcm8gJiB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxuXG4gICZfX2Zvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMTtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjgpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICAgLmwtbWFpbiAmIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgfVxuXG4gICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC43NSk7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC45NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3VibWl0IHtcbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIC5sLW1haW4gJiB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcblxuICAgICAgICAubC1tYWluICYge1xuICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgJltocmVmXSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIGZvciBmcmFnbWVudCBpZGVudGlmaWVycywgb3IgOnRlbCBsaW5rc1xuICAgICZbaHJlZl49J3RlbCddLFxuICAgIFtocmVmXj0nIyddIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgYWJiciB7XG4gICAgJlt0aXRsZV0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cblxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBBdm9pZCBpbWFnZXMgYmxlZWRpbmcgb2ZmIHRoZSBlZGdlcyBvZiB0aGUgcGFnZVxuICB9XG5cbiAgLmhueS1zdmcge1xuICAgIGZpbGw6ICRibGFjayAhaW1wb3J0YW50O1xuICB9XG5cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuXG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cblxuICAucmVjZW50LXVwZGF0ZXMge1xuICAgIC5ncmlkLXgge1xuICAgICAgLmdyaWQteCB7XG4gICAgICAgIC5jZWxsOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9kdWN0IHtcbiAgICAuY2VsbC5oaWRlLWZvci1wcmludCB7XG4gICAgICArIC5jZWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
