@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.5.0-rc.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700");
@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 {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

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

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

a {
  background-color: transparent; }

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

b,
strong {
  font-weight: bolder; }

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

small, .checkout_summary .items-list .product-configuration .accordion-title,
.checkout_summary .items-list .product-configuration .accordion-content,
.checkout_summary .items-list .product-configuration .option-line {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

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

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 {
  border-style: none;
  padding: 0; }

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;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  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&large=64em&xlarge=75em&xxlarge=90em"; }

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

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

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Roboto", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #152935;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

pre {
  overflow: auto; }

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

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

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

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 87.5rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin: 0 auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin: 0 auto; }

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

.cell {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .cell.shrink {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            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 {
  -webkit-flex-basis: auto;
      -ms-flex-preferred-size: auto;
          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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 75em) {
  .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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; } }

@media screen and (min-width: 90em) {
  .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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            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 {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          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 {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            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 {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            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: 64em) {
  .grid-x > .large-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            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 {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            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 screen and (min-width: 75em) {
  .grid-x > .xlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            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 {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            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: 90em) {
  .grid-x > .xxlarge-auto {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            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 {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            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%; } }

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

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

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.875rem); } }
  @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% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 1.875rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-x > .xxlarge-auto {
      width: auto; }
    .grid-margin-x > .xxlarge-shrink {
      width: auto; }
    .grid-margin-x > .xxlarge-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .xxlarge-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .xxlarge-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .xxlarge-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .xxlarge-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .xxlarge-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.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: 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 screen and (min-width: 75em) {
  .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: 90em) {
  .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%; } }

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

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

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

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

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

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

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

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

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

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

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

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

.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: 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 screen and (min-width: 75em) {
    .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: 90em) {
    .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%; } }

.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: 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 screen and (min-width: 75em) {
  .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: 90em) {
  .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 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: 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 > .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 screen and (min-width: 75em) {
  .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: 90em) {
  .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 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 screen and (min-width: 75em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 75em) {
  .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 screen and (min-width: 75em) {
  .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 screen and (min-width: 75em) {
  .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 screen and (min-width: 75em) {
  .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: 90em) {
  .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: 75em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

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

@media screen and (min-width: 90em) {
  .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: 90em) {
  .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: 90em) {
  .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: 90em) {
  .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: 90em) {
  .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: 90em) {
  .xxlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xxlarge-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% + 0.625rem); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.grid-y {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column nowrap;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    width: auto;
    max-width: 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 {
    -webkit-flex-basis: auto;
        -ms-flex-preferred-size: auto;
            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 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              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 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 75em) {
    .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 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto; } }
  @media screen and (min-width: 90em) {
    .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 {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              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 {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            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 {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              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 {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              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: 64em) {
    .grid-y > .large-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              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 {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              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 screen and (min-width: 75em) {
    .grid-y > .xlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              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 {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              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: 90em) {
    .grid-y > .xxlarge-auto {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              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 {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              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%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @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% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 1.875rem); } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: 64em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

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

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

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @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% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 75em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.875rem); } }
  @media screen and (min-width: 90em) {
    .grid-margin-y > .xxlarge-auto {
      height: auto; }
    .grid-margin-y > .xxlarge-shrink {
      height: auto; }
    .grid-margin-y > .xxlarge-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .xxlarge-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .xxlarge-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .xxlarge-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .xxlarge-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .xxlarge-12 {
      height: calc(100% - 1.875rem); } }

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

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

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

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

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

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
#cart-container h2,
h3,
h4,
.cards_block .grid-x .cell .card .card-section .title,
.checkout_summary .accordion > .accordion-title,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

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

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

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

small, .checkout_summary .items-list .product-configuration .accordion-title,
.checkout_summary .items-list .product-configuration .accordion-content,
.checkout_summary .items-list .product-configuration .option-line {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2,
#cart-container h2, .h2, .h2-white-center, h2.white-center, .newsletter-box-container .cell > * .flex-box-content h2, h2, #cart-container h2,
h3, .h3,
h4,
.cards_block .grid-x .cell .card .card-section .title,
.checkout_summary .accordion > .accordion-title, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Open Sans", Helvetica Neue, Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: inherit;
  text-rendering: optimizeLegibility; }
  h1 small, h1 .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration h1 .accordion-title,
  h1 .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration h1 .accordion-content,
  h1 .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration h1 .option-line, .h1 small, .h1 .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration .h1 .accordion-title,
  .h1 .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration .h1 .accordion-content,
  .h1 .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration .h1 .option-line,
  h2 small,
  #cart-container h2 small,
  h2 .checkout_summary .items-list .product-configuration .accordion-title,
  .checkout_summary .items-list .product-configuration h2 .accordion-title,
  #cart-container h2 .checkout_summary .items-list .product-configuration .accordion-title,
  .checkout_summary .items-list .product-configuration #cart-container h2 .accordion-title,
  h2 .checkout_summary .items-list .product-configuration .accordion-content,
  .checkout_summary .items-list .product-configuration h2 .accordion-content,
  #cart-container h2 .checkout_summary .items-list .product-configuration .accordion-content,
  .checkout_summary .items-list .product-configuration #cart-container h2 .accordion-content,
  h2 .checkout_summary .items-list .product-configuration .option-line,
  .checkout_summary .items-list .product-configuration h2 .option-line,
  #cart-container h2 .checkout_summary .items-list .product-configuration .option-line,
  .checkout_summary .items-list .product-configuration #cart-container h2 .option-line, .h2 small, .h2-white-center small, h2.white-center small, .newsletter-box-container .cell > * .flex-box-content h2 small, h2 small, #cart-container h2 small, .h2 .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration .h2 .accordion-title, .h2-white-center .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration .h2-white-center .accordion-title, h2 .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration h2 .accordion-title, #cart-container h2 .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration #cart-container h2 .accordion-title,
  .h2 .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration .h2 .accordion-content,
  .h2-white-center .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration .h2-white-center .accordion-content,
  h2 .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration h2 .accordion-content,
  #cart-container h2 .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration #cart-container h2 .accordion-content,
  .h2 .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration .h2 .option-line,
  .h2-white-center .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration .h2-white-center .option-line,
  h2 .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration h2 .option-line,
  #cart-container h2 .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration #cart-container h2 .option-line,
  h3 small,
  h3 .checkout_summary .items-list .product-configuration .accordion-title,
  .checkout_summary .items-list .product-configuration h3 .accordion-title,
  h3 .checkout_summary .items-list .product-configuration .accordion-content,
  .checkout_summary .items-list .product-configuration h3 .accordion-content,
  h3 .checkout_summary .items-list .product-configuration .option-line,
  .checkout_summary .items-list .product-configuration h3 .option-line, .h3 small, .h3 .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration .h3 .accordion-title,
  .h3 .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration .h3 .accordion-content,
  .h3 .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration .h3 .option-line,
  h4 small,
  .cards_block .grid-x .cell .card .card-section .title small,
  .checkout_summary .accordion > .accordion-title small,
  h4 .checkout_summary .items-list .product-configuration .accordion-title,
  .checkout_summary .items-list .product-configuration h4 .accordion-title,
  .cards_block .grid-x .cell .card .card-section .title .checkout_summary .items-list .product-configuration .accordion-title,
  .checkout_summary .items-list .product-configuration .cards_block .grid-x .cell .card .card-section .title .accordion-title,
  .checkout_summary .accordion > .accordion-title .items-list .product-configuration .accordion-title,
  .checkout_summary .items-list .product-configuration .accordion > .accordion-title .accordion-title,
  h4 .checkout_summary .items-list .product-configuration .accordion-content,
  .checkout_summary .items-list .product-configuration h4 .accordion-content,
  .cards_block .grid-x .cell .card .card-section .title .checkout_summary .items-list .product-configuration .accordion-content,
  .checkout_summary .items-list .product-configuration .cards_block .grid-x .cell .card .card-section .title .accordion-content,
  .checkout_summary .accordion > .accordion-title .items-list .product-configuration .accordion-content,
  .checkout_summary .items-list .product-configuration .accordion > .accordion-title .accordion-content,
  h4 .checkout_summary .items-list .product-configuration .option-line,
  .checkout_summary .items-list .product-configuration h4 .option-line,
  .cards_block .grid-x .cell .card .card-section .title .checkout_summary .items-list .product-configuration .option-line,
  .checkout_summary .items-list .product-configuration .cards_block .grid-x .cell .card .card-section .title .option-line,
  .checkout_summary .accordion > .accordion-title .items-list .product-configuration .option-line,
  .checkout_summary .items-list .product-configuration .accordion > .accordion-title .option-line, .h4 small, .h4 .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration .h4 .accordion-title,
  .h4 .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration .h4 .accordion-content,
  .h4 .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration .h4 .option-line,
  h5 small,
  h5 .checkout_summary .items-list .product-configuration .accordion-title,
  .checkout_summary .items-list .product-configuration h5 .accordion-title,
  h5 .checkout_summary .items-list .product-configuration .accordion-content,
  .checkout_summary .items-list .product-configuration h5 .accordion-content,
  h5 .checkout_summary .items-list .product-configuration .option-line,
  .checkout_summary .items-list .product-configuration h5 .option-line, .h5 small, .h5 .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration .h5 .accordion-title,
  .h5 .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration .h5 .accordion-content,
  .h5 .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration .h5 .option-line,
  h6 small,
  h6 .checkout_summary .items-list .product-configuration .accordion-title,
  .checkout_summary .items-list .product-configuration h6 .accordion-title,
  h6 .checkout_summary .items-list .product-configuration .accordion-content,
  .checkout_summary .items-list .product-configuration h6 .accordion-content,
  h6 .checkout_summary .items-list .product-configuration .option-line,
  .checkout_summary .items-list .product-configuration h6 .option-line, .h6 small, .h6 .checkout_summary .items-list .product-configuration .accordion-title, .checkout_summary .items-list .product-configuration .h6 .accordion-title,
  .h6 .checkout_summary .items-list .product-configuration .accordion-content, .checkout_summary .items-list .product-configuration .h6 .accordion-content,
  .h6 .checkout_summary .items-list .product-configuration .option-line, .checkout_summary .items-list .product-configuration .h6 .option-line {
    line-height: 0;
    color: #5A6872; }

h1, .h1 {
  font-size: 1.75rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }


h2,
#cart-container h2, .h2, .h2-white-center, h2.white-center, .newsletter-box-container .cell > * .flex-box-content h2, h2, #cart-container h2 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem; }

h3, .h3 {
  font-size: 1.375rem;
  line-height: 1.4;
  margin-top: 0.9375rem;
  margin-bottom: 0.5rem; }


h4,
.cards_block .grid-x .cell .card .card-section .title,
.checkout_summary .accordion > .accordion-title, .h4 {
  font-size: 1.125rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

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

h6, .h6 {
  font-size: 0.875rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3rem; }
  
  h2,
  #cart-container h2, .h2, .h2-white-center, h2.white-center, .newsletter-box-container .cell > * .flex-box-content h2, h2, #cart-container h2 {
    font-size: 2.5rem;
    margin-top: 1.875rem; }
  h3, .h3 {
    font-size: 2rem;
    margin-top: 1.5625rem; }
  
  h4,
  .cards_block .grid-x .cell .card .card-section .title,
  .checkout_summary .accordion > .accordion-title, .h4 {
    font-size: 1.5rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 2rem; }

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

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

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #5A6872; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #333333; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #333333; }
  cite:before {
    content: "— "; }

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

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #5A6872;
  background-color: #C8C8C8;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #152935; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #C8C8C8;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #152935;
  border-radius: 2px; }

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

.lead, #cart-container .grand-total-cell .grand-total-container .summary table tr.grand-total {
  font-size: 125%;
  line-height: 1.6; }

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

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

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

.text-center, .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--header, .PDTOOLFOLDER .pdtool--views .pdtool--view {
  text-align: center; }

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

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

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

@media screen and (min-width: 75em) {
  .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: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

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

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #333333;
    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,
  #cart-container h2,
  h3 {
    orphans: 3;
    widows: 3; }
  
  h2,
  #cart-container h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 2px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 0.9rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #3D70B2;
  color: #ffffff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #345f97;
    color: #ffffff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary {
    background-color: #3D70B2;
    color: #ffffff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #315a8e;
      color: #ffffff; }
  .button.secondary {
    background-color: #6F7987;
    color: #ffffff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #59616c;
      color: #ffffff; }
  .button.tertiary {
    background-color: #DC5E5E;
    color: #152935; }
    .button.tertiary:hover, .button.tertiary:focus {
      background-color: #ce2d2d;
      color: #152935; }
  .button.success {
    background-color: #72D237;
    color: #152935; }
    .button.success:hover, .button.success:focus {
      background-color: #5aad27;
      color: #152935; }
  .button.warning {
    background-color: #ffae00;
    color: #152935; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #152935; }
  .button.alert {
    background-color: #DC5E5E;
    color: #152935; }
    .button.alert:hover, .button.alert:focus {
      background-color: #ce2d2d;
      color: #152935; }
  .button.petrol {
    background-color: #019BAE;
    color: #152935; }
    .button.petrol:hover, .button.petrol:focus {
      background-color: #017c8b;
      color: #152935; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {
      background-color: #3D70B2;
      color: #ffffff; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #3D70B2;
        color: #ffffff; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #6F7987;
        color: #ffffff; }
    .button.disabled.tertiary, .button[disabled].tertiary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.tertiary, .button.disabled.tertiary:hover, .button.disabled.tertiary:focus, .button[disabled].tertiary, .button[disabled].tertiary:hover, .button[disabled].tertiary:focus {
        background-color: #DC5E5E;
        color: #152935; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #72D237;
        color: #152935; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #152935; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #DC5E5E;
        color: #152935; }
    .button.disabled.petrol, .button[disabled].petrol {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.petrol, .button.disabled.petrol:hover, .button.disabled.petrol:focus, .button[disabled].petrol, .button[disabled].petrol:hover, .button[disabled].petrol:focus {
        background-color: #019BAE;
        color: #152935; }
  .button.hollow {
    border: 1px solid #3D70B2;
    color: #3D70B2; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #1f3859;
      color: #1f3859; }
      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {
        border: 1px solid #3D70B2;
        color: #3D70B2; }
    .button.hollow.primary {
      border: 1px solid #3D70B2;
      color: #3D70B2; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #1f3859;
        color: #1f3859; }
        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {
          border: 1px solid #3D70B2;
          color: #3D70B2; }
    .button.hollow.secondary {
      border: 1px solid #6F7987;
      color: #6F7987; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #383d44;
        color: #383d44; }
        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {
          border: 1px solid #6F7987;
          color: #6F7987; }
    .button.hollow.tertiary {
      border: 1px solid #DC5E5E;
      color: #DC5E5E; }
      .button.hollow.tertiary:hover, .button.hollow.tertiary:focus {
        border-color: #811c1c;
        color: #811c1c; }
        .button.hollow.tertiary:hover.disabled, .button.hollow.tertiary:hover[disabled], .button.hollow.tertiary:focus.disabled, .button.hollow.tertiary:focus[disabled] {
          border: 1px solid #DC5E5E;
          color: #DC5E5E; }
    .button.hollow.success {
      border: 1px solid #72D237;
      color: #72D237; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #386c18;
        color: #386c18; }
        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {
          border: 1px solid #72D237;
          color: #72D237; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert {
      border: 1px solid #DC5E5E;
      color: #DC5E5E; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #811c1c;
        color: #811c1c; }
        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {
          border: 1px solid #DC5E5E;
          color: #DC5E5E; }
    .button.hollow.petrol {
      border: 1px solid #019BAE;
      color: #019BAE; }
      .button.hollow.petrol:hover, .button.hollow.petrol:focus {
        border-color: #014e57;
        color: #014e57; }
        .button.hollow.petrol:hover.disabled, .button.hollow.petrol:hover[disabled], .button.hollow.petrol:focus.disabled, .button.hollow.petrol:focus[disabled] {
          border: 1px solid #019BAE;
          color: #019BAE; }
  .button.clear {
    border: 1px solid #3D70B2;
    color: #3D70B2; }
    .button.clear, .button.clear:hover, .button.clear:focus {
      background-color: transparent; }
    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .button.clear:focus {
      border-color: #1f3859;
      color: #1f3859; }
      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {
        border: 1px solid #3D70B2;
        color: #3D70B2; }
    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary {
      border: 1px solid #3D70B2;
      color: #3D70B2; }
      .button.clear.primary:hover, .button.clear.primary:focus {
        border-color: #1f3859;
        color: #1f3859; }
        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
          border: 1px solid #3D70B2;
          color: #3D70B2; }
      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary {
      border: 1px solid #6F7987;
      color: #6F7987; }
      .button.clear.secondary:hover, .button.clear.secondary:focus {
        border-color: #383d44;
        color: #383d44; }
        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
          border: 1px solid #6F7987;
          color: #6F7987; }
      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {
        border-color: transparent; }
    .button.clear.tertiary {
      border: 1px solid #DC5E5E;
      color: #DC5E5E; }
      .button.clear.tertiary:hover, .button.clear.tertiary:focus {
        border-color: #811c1c;
        color: #811c1c; }
        .button.clear.tertiary:hover.disabled, .button.clear.tertiary:hover[disabled], .button.clear.tertiary:focus.disabled, .button.clear.tertiary:focus[disabled] {
          border: 1px solid #DC5E5E;
          color: #DC5E5E; }
      .button.clear.tertiary, .button.clear.tertiary.disabled, .button.clear.tertiary[disabled], .button.clear.tertiary:hover, .button.clear.tertiary:hover.disabled, .button.clear.tertiary:hover[disabled], .button.clear.tertiary:focus, .button.clear.tertiary:focus.disabled, .button.clear.tertiary:focus[disabled] {
        border-color: transparent; }
    .button.clear.success {
      border: 1px solid #72D237;
      color: #72D237; }
      .button.clear.success:hover, .button.clear.success:focus {
        border-color: #386c18;
        color: #386c18; }
        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
          border: 1px solid #72D237;
          color: #72D237; }
      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .button.clear.warning:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert {
      border: 1px solid #DC5E5E;
      color: #DC5E5E; }
      .button.clear.alert:hover, .button.clear.alert:focus {
        border-color: #811c1c;
        color: #811c1c; }
        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
          border: 1px solid #DC5E5E;
          color: #DC5E5E; }
      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {
        border-color: transparent; }
    .button.clear.petrol {
      border: 1px solid #019BAE;
      color: #019BAE; }
      .button.clear.petrol:hover, .button.clear.petrol:focus {
        border-color: #014e57;
        color: #014e57; }
        .button.clear.petrol:hover.disabled, .button.clear.petrol:hover[disabled], .button.clear.petrol:focus.disabled, .button.clear.petrol:focus[disabled] {
          border: 1px solid #019BAE;
          color: #019BAE; }
      .button.clear.petrol, .button.clear.petrol.disabled, .button.clear.petrol[disabled], .button.clear.petrol:hover, .button.clear.petrol:hover.disabled, .button.clear.petrol:hover[disabled], .button.clear.petrol:focus, .button.clear.petrol:focus.disabled, .button.clear.petrol:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #ffffff transparent transparent;
    position: relative;
    top: 0.4em;
    display: inline-block;
    float: right;
    margin-left: 1em; }
  .button.dropdown.hollow::after {
    border-top-color: #3D70B2; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #3D70B2; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #6F7987; }
  .button.dropdown.hollow.tertiary::after {
    border-top-color: #DC5E5E; }
  .button.dropdown.hollow.success::after {
    border-top-color: #72D237; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #DC5E5E; }
  .button.dropdown.hollow.petrol::after {
    border-top-color: #019BAE; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #C8C8C8;
  border-radius: 2px;
  background-color: #FBFBFB;
  box-shadow: inset 0 1px 2px rgba(21, 41, 53, 0.05);
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #152935;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #5A6872;
    background-color: #ffffff;
    box-shadow: 0 0 5px #EAEAEA;
    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: #EAEAEA;
  cursor: not-allowed; }

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

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

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

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

::placeholder {
  color: #C8C8C8; }

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

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [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;
  font-size: 1.125rem;
  font-weight: normal;
  line-height: 1.8;
  color: #152935; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

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

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

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

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    -webkit-align-self: stretch;
        -ms-flex-item-align: stretch;
                -ms-grid-row-align: stretch;
            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 #C8C8C8; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #C8C8C8;
  border-radius: 2px;
  background-color: #FBFBFB;
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.5;
  color: #152935;
  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%2851, 51, 51%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #5A6872;
    background-color: #ffffff;
    box-shadow: 0 0 5px #EAEAEA;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #EAEAEA;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

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

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

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

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

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

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

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

.accordion-content {
  display: none;
  padding: 1rem;
  border: 1px solid #C8C8C8;
  border-bottom: 0;
  background-color: #ffffff;
  color: #152935; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #C8C8C8; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #3D70B2;
  color: #ffffff; }
  .badge.primary {
    background: #3D70B2;
    color: #ffffff; }
  .badge.secondary {
    background: #6F7987;
    color: #ffffff; }
  .badge.tertiary {
    background: #DC5E5E;
    color: #152935; }
  .badge.success {
    background: #72D237;
    color: #152935; }
  .badge.warning {
    background: #ffae00;
    color: #152935; }
  .badge.alert {
    background: #DC5E5E;
    color: #152935; }
  .badge.petrol {
    background: #019BAE;
    color: #152935; }

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

.button-group {
  margin-bottom: 1rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #3D70B2;
    color: #ffffff; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #315a8e;
      color: #ffffff; }
  .button-group.secondary .button {
    background-color: #6F7987;
    color: #ffffff; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #59616c;
      color: #ffffff; }
  .button-group.tertiary .button {
    background-color: #DC5E5E;
    color: #152935; }
    .button-group.tertiary .button:hover, .button-group.tertiary .button:focus {
      background-color: #ce2d2d;
      color: #152935; }
  .button-group.success .button {
    background-color: #72D237;
    color: #152935; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #5aad27;
      color: #152935; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #152935; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #152935; }
  .button-group.alert .button {
    background-color: #DC5E5E;
    color: #152935; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #ce2d2d;
      color: #152935; }
  .button-group.petrol .button {
    background-color: #019BAE;
    color: #152935; }
    .button-group.petrol .button:hover, .button-group.petrol .button:focus {
      background-color: #017c8b;
      color: #152935; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.99875em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }
  @media screen and (max-width: 63.99875em) {
    .button-group.stacked-for-medium.expanded {
      display: block; }
      .button-group.stacked-for-medium.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 1rem 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(21, 41, 53, 0.25);
  border-radius: 2px;
  background-color: #fcfcfc;
  color: #152935; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #e1e9f5;
    color: #152935; }
  .callout.secondary {
    background-color: #e9ebed;
    color: #152935; }
  .callout.tertiary {
    background-color: #fae7e7;
    color: #152935; }
  .callout.success {
    background-color: #eaf8e1;
    color: #152935; }
  .callout.warning {
    background-color: #fff3d9;
    color: #152935; }
  .callout.alert {
    background-color: #fae7e7;
    color: #152935; }
  .callout.petrol {
    background-color: #cdf9ff;
    color: #152935; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

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

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

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

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

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

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

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

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

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

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

.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: #ffffff; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.dropdown.menu > li > a {
  background: #ffffff;
  padding: 0.7rem 1rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 2px;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #3D70B2;
  color: #ffffff; }
  .label.primary {
    background: #3D70B2;
    color: #ffffff; }
  .label.secondary {
    background: #6F7987;
    color: #ffffff; }
  .label.tertiary {
    background: #DC5E5E;
    color: #152935; }
  .label.success {
    background: #72D237;
    color: #152935; }
  .label.warning {
    background: #ffae00;
    color: #152935; }
  .label.alert {
    background: #DC5E5E;
    color: #152935; }
  .label.petrol {
    background: #019BAE;
    color: #152935; }

.media-object {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.99875em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }

.media-object-section {
  -webkit-flex: 0 1 auto;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media screen and (max-width: 39.99875em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

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

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

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

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

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

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  width: 310px;
  -webkit-transform: translateX(-310px);
      -ms-transform: translateX(-310px);
          transform: translateX(-310px); }
  @media print, screen and (min-width: 40em) {
    .position-left {
      width: 350px;
      -webkit-transform: translateX(-350px);
          -ms-transform: translateX(-350px);
              transform: translateX(-350px); } }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-310px);
        -ms-transform: translateX(-310px);
            transform: translateX(-310px); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content .off-canvas.position-left {
        -webkit-transform: translateX(-350px);
            -ms-transform: translateX(-350px);
                transform: translateX(-350px); } }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(310px);
        -ms-transform: translateX(310px);
            transform: translateX(310px); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content.is-open-left.has-transition-push {
        -webkit-transform: translateX(350px);
            -ms-transform: translateX(350px);
                transform: translateX(350px); } }
  .position-left.is-transition-push {
    box-shadow: inset 0 0 0 0 transparent; }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 310px;
  -webkit-transform: translateX(310px);
      -ms-transform: translateX(310px);
          transform: translateX(310px); }
  @media print, screen and (min-width: 40em) {
    .position-right {
      width: 350px;
      -webkit-transform: translateX(350px);
          -ms-transform: translateX(350px);
              transform: translateX(350px); } }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(310px);
        -ms-transform: translateX(310px);
            transform: translateX(310px); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content .off-canvas.position-right {
        -webkit-transform: translateX(350px);
            -ms-transform: translateX(350px);
                transform: translateX(350px); } }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-310px);
        -ms-transform: translateX(-310px);
            transform: translateX(-310px); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content.is-open-right.has-transition-push {
        -webkit-transform: translateX(-350px);
            -ms-transform: translateX(-350px);
                transform: translateX(-350px); } }
  .position-right.is-transition-push {
    box-shadow: inset 0 0 0 0 transparent; }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 310px;
  -webkit-transform: translateY(-310px);
      -ms-transform: translateY(-310px);
          transform: translateY(-310px); }
  @media print, screen and (min-width: 40em) {
    .position-top {
      height: 350px;
      -webkit-transform: translateY(-350px);
          -ms-transform: translateY(-350px);
              transform: translateY(-350px); } }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-310px);
        -ms-transform: translateY(-310px);
            transform: translateY(-310px); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content .off-canvas.position-top {
        -webkit-transform: translateY(-350px);
            -ms-transform: translateY(-350px);
                transform: translateY(-350px); } }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(310px);
        -ms-transform: translateY(310px);
            transform: translateY(310px); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content.is-open-top.has-transition-push {
        -webkit-transform: translateY(350px);
            -ms-transform: translateY(350px);
                transform: translateY(350px); } }
  .position-top.is-transition-push {
    box-shadow: inset 0 0 0 0 transparent; }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 310px;
  -webkit-transform: translateY(310px);
      -ms-transform: translateY(310px);
          transform: translateY(310px); }
  @media print, screen and (min-width: 40em) {
    .position-bottom {
      height: 350px;
      -webkit-transform: translateY(350px);
          -ms-transform: translateY(350px);
              transform: translateY(350px); } }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(310px);
        -ms-transform: translateY(310px);
            transform: translateY(310px); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content .off-canvas.position-bottom {
        -webkit-transform: translateY(350px);
            -ms-transform: translateY(350px);
                transform: translateY(350px); } }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
          -ms-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-310px);
        -ms-transform: translateY(-310px);
            transform: translateY(-310px); }
    @media print, screen and (min-width: 40em) {
      .off-canvas-content.is-open-bottom.has-transition-push {
        -webkit-transform: translateY(-350px);
            -ms-transform: translateY(-350px);
                transform: translateY(-350px); } }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 0 0 0 transparent; }

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

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

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

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

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

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

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

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

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

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

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

.orbit-previous {
  left: 0; }

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 2px;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 2px;
    color: #152935; }
    .pagination a:hover,
    .pagination button:hover {
      background: #C8C8C8; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #3D70B2;
    color: #ffffff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #5A6872;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #152935; }

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

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

.progress {
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 2px;
  background-color: #5A6872; }
  .progress.primary .progress-meter {
    background-color: #3D70B2; }
  .progress.secondary .progress-meter {
    background-color: #6F7987; }
  .progress.tertiary .progress-meter {
    background-color: #DC5E5E; }
  .progress.success .progress-meter {
    background-color: #72D237; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #DC5E5E; }
  .progress.petrol .progress-meter {
    background-color: #019BAE; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #3D70B2;
  border-radius: 2px; }

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

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

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

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

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

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

.sticky-container {
  position: relative; }

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

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

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

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 {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(21, 41, 53, 0.45);
  overflow-y: auto; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 4rem;
  border: 5px solid #019BAE;
  border-radius: 2px;
  background-color: #ffffff;
  position: relative;
  top: 100px;
  margin-right: auto;
  margin-left: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 87.5rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 87.5rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 87.5rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 87.5rem; } }
  .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 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; }

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

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

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

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

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

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

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

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

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

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 2px; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f7f7f7;
    background-color: #ffffff; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #fbfbfb;
    color: #152935; }
  tfoot {
    background: #f7f7f7;
    color: #152935; }
  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: #f7f7f7; }
  table.unstriped tbody {
    background-color: #ffffff; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f7f7f7;
      background-color: #ffffff; }

@media screen and (max-width: 63.99875em) {
  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: #f6f6f6; }

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

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

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

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

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

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

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

.tabs.primary {
  background: #3D70B2; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #3a6aa9; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 1rem;
    line-height: 1;
    color: #152935; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: #ffffff;
      color: #12232e; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #ffffff;
      color: #3D70B2; }

.tabs-content {
  border: 1px solid #C8C8C8;
  border-top: 0;
  background: #ffffff;
  color: #152935;
  transition: all 0.5s ease; }

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

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

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

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

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

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

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

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

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

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 2px;
  background-color: #152935;
  font-size: 80%;
  color: #ffffff; }
  .tooltip::before {
    position: absolute; }
  .tooltip.bottom::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #152935;
    bottom: 100%; }
  .tooltip.bottom.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #152935 transparent transparent;
    top: 100%;
    bottom: auto; }
  .tooltip.top.align-center::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.left::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-right-width: 0;
    border-left-style: solid;
    border-color: transparent transparent transparent #152935;
    left: 100%; }
  .tooltip.left.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-left-width: 0;
    border-right-style: solid;
    border-color: transparent #152935 transparent transparent;
    right: 100%;
    left: auto; }
  .tooltip.right.align-center::before {
    bottom: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.align-top::before {
    bottom: auto;
    top: 10%; }
  .tooltip.align-bottom::before {
    bottom: 10%;
    top: auto; }
  .tooltip.align-left::before {
    left: 10%;
    right: auto; }
  .tooltip.align-right::before {
    left: auto;
    right: 10%; }

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (max-width: 39.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 screen and (min-width: 40em) and (max-width: 63.99875em) {
  .hide-for-medium-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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 {
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

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

.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

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

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

.align-center.vertical.menu > li > a {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

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

.align-self-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

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

.align-self-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.align-middle, .tabs.free .tabs-title a .grid-x {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch; }

.align-center-middle {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center; }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

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

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

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.text-hide {
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important; }

.text-truncate {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap !important; }

.text-nowrap {
  white-space: nowrap !important; }

.text-wrap {
  word-wrap: break-word !important; }

.text-lowercase {
  text-transform: lowercase !important; }

.text-uppercase, .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--header h3, .PDTOOLFOLDER .pdtool--views .pdtool--view .btn {
  text-transform: uppercase !important; }

.text-capitalize {
  text-transform: capitalize !important; }

.text-overline {
  text-decoration: overline !important; }

.text-underline {
  text-decoration: underline !important; }

.text-line-through {
  text-decoration: line-through !important; }

.font-wide {
  letter-spacing: 0.25rem; }

.font-normal {
  font-weight: normal; }

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

.font-italic {
  font-style: italic !important; }

ul.list-disc {
  list-style-type: disc !important; }

ul.list-circle {
  list-style-type: circle !important; }

ul.list-square {
  list-style-type: square !important; }

ol.list-decimal {
  list-style-type: decimal !important; }

ol.list-lower-alpha {
  list-style-type: lower-alpha !important; }

ol.list-lower-latin {
  list-style-type: lower-latin !important; }

ol.list-lower-roman {
  list-style-type: lower-roman !important; }

ol.list-upper-alpha {
  list-style-type: upper-alpha !important; }

ol.list-upper-latin {
  list-style-type: upper-latin !important; }

ol.list-upper-roman {
  list-style-type: upper-roman !important; }

.rounded {
  border-radius: 5000px !important; }
  .rounded:after {
    border-radius: 50%; }

.radius {
  border-radius: 0.1875rem; }

.bordered {
  border: 0.0625rem solid #5A6872; }

.shadow {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }

.arrow-down {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #152935 transparent transparent; }

.arrow-up {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #152935; }

.arrow-right {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #152935; }

.arrow-left {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #152935 transparent transparent; }

.separator-center {
  text-align: center !important; }
  .separator-center::before, .separator-center::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .separator-center::after {
    clear: both; }
  .separator-center::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #3D70B2;
    margin: 1rem auto 0; }

.separator-left {
  text-align: left !important; }
  .separator-left::before, .separator-left::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .separator-left::after {
    clear: both; }
  .separator-left::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #3D70B2;
    margin: 1rem auto 0;
    margin-left: 0 !important; }

.separator-right {
  text-align: right !important; }
  .separator-right::before, .separator-right::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .separator-right::after {
    clear: both; }
  .separator-right::after {
    position: relative !important;
    width: 3rem;
    border-bottom: 0.125rem solid #3D70B2;
    margin: 1rem auto 0;
    margin-right: 0 !important; }

.overflow-visible {
  overflow: visible !important; }

.overflow-x-visible {
  overflow-x: visible !important; }

.overflow-y-visible {
  overflow-y: visible !important; }

.overflow-hidden {
  overflow: hidden !important; }

.overflow-x-hidden {
  overflow-x: hidden !important; }

.overflow-y-hidden {
  overflow-y: hidden !important; }

.overflow-scroll {
  overflow: scroll !important; }

.overflow-x-scroll {
  overflow-x: scroll !important; }

.overflow-y-scroll {
  overflow-y: scroll !important; }

.display-inline {
  display: inline !important; }

.display-inline-block {
  display: inline-block !important; }

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

.display-table {
  display: table !important; }

.display-table-cell {
  display: table-cell !important; }

.position-static {
  position: static !important; }

.position-relative {
  position: relative !important; }

.position-absolute {
  position: absolute !important; }

.position-fixed {
  position: fixed !important; }

.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

.border-box {
  box-sizing: border-box !important; }

.border-none {
  border: none !important; }

.width-25 {
  width: 25% !important; }

.width-50 {
  width: 50% !important; }

.width-75 {
  width: 75% !important; }

.width-100 {
  width: 100% !important; }

.height-25 {
  height: 25% !important; }

.height-50 {
  height: 50% !important; }

.height-75 {
  height: 75% !important; }

.height-100 {
  height: 100% !important; }

.max-width-100 {
  max-width: 100% !important; }

.max-height-100 {
  max-height: 100% !important; }

.margin-0 {
  margin: 0rem; }

.margin-top-0 {
  margin-top: 0rem !important; }

.margin-right-0 {
  margin-right: 0rem !important; }

.margin-bottom-0 {
  margin-bottom: 0rem !important; }

.margin-left-0 {
  margin-left: 0rem !important; }

.margin-horizontal-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important; }

.margin-vertical-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important; }

.padding-0 {
  padding: 0rem; }

.padding-top-0 {
  padding-top: 0rem !important; }

.padding-right-0 {
  padding-right: 0rem !important; }

.padding-bottom-0 {
  padding-bottom: 0rem !important; }

.padding-left-0 {
  padding-left: 0rem !important; }

.padding-horizontal-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important; }

.padding-vertical-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important; }

.margin-1 {
  margin: 1rem; }

.margin-top-1 {
  margin-top: 1rem !important; }

.margin-right-1 {
  margin-right: 1rem !important; }

.margin-bottom-1 {
  margin-bottom: 1rem !important; }

.margin-left-1 {
  margin-left: 1rem !important; }

.margin-horizontal-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

.margin-vertical-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

.padding-1 {
  padding: 1rem; }

.padding-top-1 {
  padding-top: 1rem !important; }

.padding-right-1 {
  padding-right: 1rem !important; }

.padding-bottom-1 {
  padding-bottom: 1rem !important; }

.padding-left-1 {
  padding-left: 1rem !important; }

.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.margin-2 {
  margin: 2rem; }

.margin-top-2 {
  margin-top: 2rem !important; }

.margin-right-2 {
  margin-right: 2rem !important; }

.margin-bottom-2 {
  margin-bottom: 2rem !important; }

.margin-left-2 {
  margin-left: 2rem !important; }

.margin-horizontal-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important; }

.margin-vertical-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important; }

.padding-2 {
  padding: 2rem; }

.padding-top-2 {
  padding-top: 2rem !important; }

.padding-right-2 {
  padding-right: 2rem !important; }

.padding-bottom-2 {
  padding-bottom: 2rem !important; }

.padding-left-2 {
  padding-left: 2rem !important; }

.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important; }

.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important; }

.margin-3 {
  margin: 3rem; }

.margin-top-3 {
  margin-top: 3rem !important; }

.margin-right-3 {
  margin-right: 3rem !important; }

.margin-bottom-3 {
  margin-bottom: 3rem !important; }

.margin-left-3 {
  margin-left: 3rem !important; }

.margin-horizontal-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

.margin-vertical-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

.padding-3 {
  padding: 3rem; }

.padding-top-3 {
  padding-top: 3rem !important; }

.padding-right-3 {
  padding-right: 3rem !important; }

.padding-bottom-3 {
  padding-bottom: 3rem !important; }

.padding-left-3 {
  padding-left: 3rem !important; }

.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

/* =================================================
   Variable
   ================================================= */
/* =================================================
   Extandable classes
   ================================================= */
.thin, .menu-font, #filter-nav-container .menu.expanded li .option-name, .h2, .h2-white-center, h2.white-center, .newsletter-box-container .cell > * .flex-box-content h2, h2, #cart-container h2, h1 {
  font-weight: 300; }

.menu-font, #filter-nav-container .menu.expanded li .option-name {
  color: #333333;
  font-size: 18px;
  text-transform: uppercase; }

.title-center {
  text-align: center; }
  .title-center:before {
    margin: auto; }

.h2:before, .h2-white-center:before, h2.white-center:before, .newsletter-box-container .cell > * .flex-box-content h2:before, h2:before, #cart-container h2:before {
  content: "";
  background-color: #019BAE;
  width: 56px;
  height: 4px;
  display: block;
  margin: 10px 0 10px; }

.h2-white-center, h2.white-center, #cart-container h2.white-center, .newsletter-box-container .cell > * .flex-box-content h2, .newsletter-box-container .cell > * .flex-box-content #cart-container h2, #cart-container .newsletter-box-container .cell > * .flex-box-content h2 {
  color: #ffffff; }
  .h2-white-center:before, h2.white-center:before, #cart-container h2.white-center:before, .newsletter-box-container .cell > * .flex-box-content h2:before, .newsletter-box-container .cell > * .flex-box-content #cart-container h2:before, #cart-container .newsletter-box-container .cell > * .flex-box-content h2:before {
    background-color: #ffffff;
    margin: auto; }

/* =================================================
   Title
   ================================================= */
h1,
h2,
#cart-container h2, h3,
h4,
.cards_block .grid-x .cell .card .card-section .title,
.checkout_summary .accordion > .accordion-title, h5, h6 {
  font-family: "Open Sans", Helvetica Neue, Helvetica, Arial, sans-serif; }

.left-column > section:nth-child(1) > h2:nth-child(1), #cart-container .left-column > section:nth-child(1) > h2:nth-child(1) {
  margin-top: initial; }

/* =================================================
   Sub Title
   ================================================= */
.subtitle,
.subtitle .has-tip {
  font-family: "Open Sans", Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 300 !important; }

/* =================================================
   Separator
   ================================================= */
hr {
  max-width: none;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid #C8C8C8; }

/* =================================================
   List - Page static
   ================================================= */
#LeftColumn.left-column li {
  margin-bottom: 10px;
  margin-top: 4px; }

@font-face {
  font-family: 'icomoon';
  src: url("../font/icomoon.eot?kev34w");
  src: url("../font/icomoon.eot?kev34w#iefix") format("embedded-opentype"), url("../font/icomoon.woff2?kev34w") format("woff2"), url("../font/icomoon.ttf?kev34w") format("truetype"), url("../font/icomoon.woff?kev34w") format("woff"), url("../font/icomoon.svg?kev34w#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

.icon-style, [class^="icon-"], [class*=" icon-"], .helper-icon, .select-clone:before {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-cookie-bite-solid:before {
  content: "\e948"; }

.icon-webcam:before {
  content: "\e945"; }

.icon-verres:before {
  content: "\e93f"; }

.icon-normale:before {
  content: "\e925"; }

.icon-petite:before {
  content: "\e924"; }

.icon-rond:before {
  content: "\e923"; }

.icon-partie-superieur .path1:before {
  content: "\e914";
  color: black; }

.icon-partie-superieur .path2:before {
  content: "\e915";
  margin-left: -2.2265625em;
  color: #a5a5a5; }

.icon-partie-superieur .path3:before {
  content: "\e916";
  margin-left: -2.2265625em;
  color: #a5a5a5; }

.icon-partie-inferieur .path1:before {
  content: "\e911";
  color: #a5a5a5; }

.icon-partie-inferieur .path2:before {
  content: "\e912";
  margin-left: -2.2265625em;
  color: black; }

.icon-partie-inferieur .path3:before {
  content: "\e913";
  margin-left: -2.2265625em;
  color: black; }

.icon-oval:before {
  content: "\e910"; }

.icon-invisible .path1:before {
  content: "\e90a";
  color: black; }

.icon-invisible .path2:before {
  content: "\e90b";
  margin-left: -2.2265625em;
  color: #a5a5a5; }

.icon-invisible .path3:before {
  content: "\e90c";
  margin-left: -2.2265625em;
  color: black; }

.icon-invisible .path4:before {
  content: "\e90d";
  margin-left: -2.2265625em;
  color: #a5a5a5; }

.icon-invisible .path5:before {
  content: "\e90f";
  margin-left: -2.2265625em;
  color: black; }

.icon-grand:before {
  content: "\e908"; }

.icon-etroite:before {
  content: "\e907"; }

.icon-complete:before {
  content: "\e906"; }

.icon-carree:before {
  content: "\e905"; }

.icon-wood-fellas:before {
  content: "\e998"; }

.icon-tom-ford:before {
  content: "\e971"; }

.icon-Tod_s:before {
  content: "\e970"; }

.icon-Timberland:before {
  content: "\e96f"; }

.icon-ray-ban:before {
  content: "\e953"; }

.icon-ralph-lauren:before {
  content: "\e952"; }

.icon-prada:before {
  content: "\e951"; }

.icon-oakley:before {
  content: "\e944"; }

.icon-nike:before {
  content: "\e943"; }

.icon-marshall:before {
  content: "\e942"; }

.icon-marc-jacobs:before {
  content: "\e941"; }

.icon-Levis:before {
  content: "\e940"; }

.icon-yves-saint-laurent:before {
  content: "\e93d"; }

.icon-vogue:before {
  content: "\e93c"; }

.icon-versace:before {
  content: "\e93b"; }

.icon-swarovski:before {
  content: "\e93a"; }

.icon-smith:before {
  content: "\e939"; }

.icon-sferoflex:before {
  content: "\e938"; }

.icon-safilo:before {
  content: "\e937"; }

.icon-roberto-cavalli:before {
  content: "\e936"; }

.icon-replay:before {
  content: "\e935"; }

.icon-pierre-cardin:before {
  content: "\e934"; }

.icon-Uvex:before {
  content: "\e933"; }

.icon-oxydo:before {
  content: "\e932"; }

.icon-mont-blanc:before {
  content: "\e931"; }

.icon-miu-miu:before {
  content: "\e930"; }

.icon-mara-max:before {
  content: "\e92f"; }

.icon-luxottica:before {
  content: "\e92e"; }

.icon-giorgio-armani:before {
  content: "\e92d"; }

.icon-ermenegildo-zegna:before {
  content: "\e92c"; }

.icon-emilio-pucci:before {
  content: "\e92b"; }

.icon-dkny:before {
  content: "\e92a"; }

.icon-bvlgari:before {
  content: "\e929"; }

.icon-burberry:before {
  content: "\e928"; }

.icon-balenciaga:before {
  content: "\e927"; }

.icon-arnette:before {
  content: "\e926"; }

.icon-tommy-hilfiger:before {
  content: "\e922"; }

.icon-just-cavali:before {
  content: "\e921"; }

.icon-julbo:before {
  content: "\e920"; }

.icon-hugo-boss:before {
  content: "\e91f"; }

.icon-guess:before {
  content: "\e91e"; }

.icon-gucci:before {
  content: "\e91d"; }

.icon-emporio-armani:before {
  content: "\e91c"; }

.icon-dsquared2:before {
  content: "\e91b"; }

.icon-diesel:before {
  content: "\e91a"; }

.icon-superdry:before {
  content: "\e918"; }

.icon-persol:before {
  content: "\e917"; }

.icon-le-specs:before {
  content: "\e90e"; }

.icon-carrera:before {
  content: "\e909"; }

.icon-Lacoste:before {
  content: "\e904"; }

.icon-kerbholz:before {
  content: "\e903"; }

.icon-ck:before {
  content: "\e902"; }

.icon-alpina:before {
  content: "\e901"; }

.icon-comma:before {
  content: "\e919"; }

.icon-adidas:before {
  content: "\e900"; }

.icon-tryon:before {
  content: "\e949"; }

.icon-truck:before {
  content: "\f0d1"; }

.icon-cart1:before {
  content: "\e946"; }

.icon-paper-plane:before {
  content: "\f1d8"; }

.icon-send:before {
  content: "\f1d8"; }

.icon-user-o:before {
  content: "\f2c0"; }

.icon-envelope-open-o:before {
  content: "\f2b7"; }

.icon-envelope-open:before {
  content: "\f2b6"; }

.icon-question-circle-o:before, .helper-icon:before {
  content: "\f29c"; }

.icon-percent:before {
  content: "\f295"; }

.icon-shopping-basket:before {
  content: "\f291"; }

.icon-shopping-bag:before {
  content: "\f290"; }

.icon-intersex:before {
  content: "\f224"; }

.icon-transgender:before {
  content: "\f224"; }

.icon-mars:before {
  content: "\f222"; }

.icon-cc-paypal:before {
  content: "\f1f4"; }

.icon-cc-amex:before {
  content: "\f1f3"; }

.icon-cc-mastercard:before {
  content: "\f1f1"; }

.icon-cc-visa:before {
  content: "\f1f0"; }

.icon-male:before {
  content: "\f183"; }

.icon-female:before {
  content: "\f182"; }

.icon-android:before {
  content: "\f17b"; }

.icon-windows:before {
  content: "\f17a"; }

.icon-apple:before {
  content: "\f179"; }

.icon-unlock-alt:before {
  content: "\f13e"; }

.icon-folder-open-o:before {
  content: "\f115"; }

.icon-folder-o:before {
  content: "\f114"; }

.icon-mail-reply:before {
  content: "\f112"; }

.icon-reply:before {
  content: "\f112"; }

.icon-spinner:before {
  content: "\f110"; }

.icon-tablet:before {
  content: "\f10a"; }

.icon-laptop:before {
  content: "\f109"; }

.icon-desktop:before {
  content: "\f108"; }

.icon-angle-right:before {
  content: "\f105"; }

.icon-lightbulb-o:before {
  content: "\f0eb"; }

.icon-clipboard:before {
  content: "\f0ea"; }

.icon-paste:before {
  content: "\f0ea"; }

.icon-comments-o:before {
  content: "\f0e6"; }

.icon-rotate-left:before {
  content: "\f0e2"; }

.icon-undo:before {
  content: "\f0e2"; }

.icon-envelope:before {
  content: "\f0e0"; }

.icon-caret-up:before {
  content: "\f0d8"; }

.icon-caret-down:before, .select-clone:before {
  content: "\f0d7"; }

.icon-money:before {
  content: "\f0d6"; }

.icon-google-plus:before {
  content: "\f0d5"; }

.icon-cut:before {
  content: "\f0c4"; }

.icon-scissors:before {
  content: "\f0c4"; }

.icon-arrows-alt:before {
  content: "\f0b2"; }

.icon-filter:before {
  content: "\f0b0"; }

.icon-unlock:before {
  content: "\f09c"; }

.icon-facebook:before {
  content: "\f09a"; }

.icon-facebook-f:before {
  content: "\f09a"; }

.icon-twitter:before {
  content: "\f099"; }

.icon-phone:before {
  content: "\f095"; }

.icon-linkedin-square:before {
  content: "\f08c"; }

.icon-heart-o:before {
  content: "\f08a"; }

.icon-star-half:before {
  content: "\f089"; }

.icon-thumbs-o-down:before {
  content: "\f088"; }

.icon-thumbs-o-up:before, .icon-thumbs-up-alt:before {
  content: "\f087"; }

.icon-cogs:before {
  content: "\f085"; }

.icon-gears:before {
  content: "\f085"; }

.icon-folder-open:before {
  content: "\f07c"; }

.icon-folder:before {
  content: "\f07b"; }

.icon-shopping-cart:before {
  content: "\f07a"; }

.icon-chevron-down:before {
  content: "\f078"; }

.icon-chevron-up:before {
  content: "\f077"; }

.icon-comment:before {
  content: "\f075"; }

.icon-random:before {
  content: "\f074"; }

.icon-exclamation-triangle:before {
  content: "\f071"; }

.icon-warning:before {
  content: "\f071"; }

.icon-arrow-down:before {
  content: "\f063"; }

.icon-arrow-up:before {
  content: "\f062"; }

.icon-arrow-right:before {
  content: "\f061"; }

.icon-arrow-left:before {
  content: "\f060"; }

.icon-check-circle-o:before {
  content: "\f05d"; }

.icon-times-circle-o:before {
  content: "\f05c"; }

.icon-question-circle:before, .icon-question-sign:before {
  content: "\f059"; }

.icon-chevron-right:before {
  content: "\f054"; }

.icon-chevron-left:before {
  content: "\f053"; }

.icon-pencil:before {
  content: "\f040"; }

.icon-image:before {
  content: "\f03e"; }

.icon-photo:before {
  content: "\f03e"; }

.icon-picture-o:before {
  content: "\f03e"; }

.icon-video-camera:before {
  content: "\f03d"; }

.icon-camera:before {
  content: "\f030"; }

.icon-lock:before {
  content: "\f023"; }

.icon-refresh:before {
  content: "\f021"; }

.icon-repeat:before {
  content: "\f01e"; }

.icon-rotate-right:before {
  content: "\f01e"; }

.icon-clock-o:before {
  content: "\f017"; }

.icon-home:before {
  content: "\f015"; }

.icon-cog:before {
  content: "\f013"; }

.icon-gear:before {
  content: "\f013"; }

.icon-close:before {
  content: "\f00d"; }

.icon-remove:before {
  content: "\f00d"; }

.icon-times:before {
  content: "\f00d"; }

.icon-check:before {
  content: "\f00c"; }

.icon-user:before {
  content: "\f007"; }

.icon-star-o:before {
  content: "\f006"; }

.icon-star:before {
  content: "\f005"; }

.icon-heart:before {
  content: "\f004"; }

.icon-search:before {
  content: "\f002"; }

.icon-trash-o:before {
  content: "\f014"; }

.icon-tag:before {
  content: "\f02b"; }

.icon-tags:before {
  content: "\f02c"; }

.icon-edit:before {
  content: "\f044"; }

.icon-pencil-square-o:before {
  content: "\f044"; }

.icon-check-square-o:before {
  content: "\f046"; }

.icon-ban:before {
  content: "\f05e"; }

.icon-eye:before {
  content: "\f06e"; }

.icon-trophy:before {
  content: "\f091"; }

.icon-square-o:before {
  content: "\f096"; }

.icon-globe:before {
  content: "\f0ac"; }

.icon-wrench:before {
  content: "\f0ad"; }

.icon-bars:before {
  content: "\f0c9"; }

.icon-navicon:before {
  content: "\f0c9"; }

.icon-reorder:before {
  content: "\f0c9"; }

.icon-file-text-o:before {
  content: "\f0f6"; }

.icon-angle-double-left:before {
  content: "\f100"; }

.icon-angle-double-right:before {
  content: "\f101"; }

.icon-angle-double-up:before {
  content: "\f102"; }

.icon-angle-double-down:before {
  content: "\f103"; }

.icon-angle-up:before {
  content: "\f106"; }

.icon-angle-down:before {
  content: "\f107"; }

.icon-info:before {
  content: "\f129"; }

.icon-exclamation:before {
  content: "\f12a"; }

.icon-eur:before {
  content: "\f153"; }

.icon-euro:before {
  content: "\f153"; }

.icon-gbp:before {
  content: "\f154"; }

.icon-dollar:before {
  content: "\f155"; }

.icon-usd:before {
  content: "\f155"; }

.icon-dropbox:before {
  content: "\f16b"; }

.icon-dot-circle-o:before {
  content: "\f192"; }

.icon-circle-thin:before {
  content: "\f1db"; }

.icon-pinterest-p:before {
  content: "\f231"; }

.icon-hourglass-2:before {
  content: "\f252"; }

.icon-hourglass-half:before {
  content: "\f252"; }

.icon-drivers-license-o:before {
  content: "\f2c3"; }

.icon-id-card-o:before {
  content: "\f2c3"; }

.icon-compare_arrows:before {
  content: "\e93e"; }

.icon-highlight_off:before {
  content: "\e888"; }

.icon-3d_rotation:before {
  content: "\e84d"; }

.icon-contacts:before {
  content: "\e0ba"; }

.icon-flight:before {
  content: "\e539"; }

.icon-delete:before {
  content: "\e872"; }

.icon-fullscreen:before {
  content: "\e5d0"; }

.icon-fullscreen_exit:before {
  content: "\e5d1"; }

.icon-zoom_out_map:before {
  content: "\e56b"; }

.icon-cart:before {
  content: "\e947"; }

.icon-undo2:before {
  content: "\e967"; }

.icon-redo2:before {
  content: "\e968"; }

.icon-forward:before {
  content: "\e969"; }

.icon-reply1:before {
  content: "\e96a"; }

.icon-spinner4:before {
  content: "\e97d"; }

.icon-spinner5:before {
  content: "\e97e"; }

.icon-spinner9:before {
  content: "\e982"; }

.icon-spinner10:before {
  content: "\e983"; }

.icon-earth:before {
  content: "\e9ca"; }

/* =================================================
    BRAND LOGO - ICON
   ================================================= */
.list-logos a[class^="icon-"], .list-logos a[class*=" icon-"] {
  font-size: 0px; }
  .list-logos a[class^="icon-"]:before, .list-logos a[class*=" icon-"]:before {
    margin: 8px;
    display: inline-block;
    color: #152935; }

.icon-ck:before {
  font-size: 70; }

.icon-carrera:before,
.icon-guess:before,
.icon-just-cavali:before,
.icon-kerbholz:before,
.icon-le-specs:before {
  font-size: 54px; }

.icon-adidas:before,
.icon-gucci:before,
.icon-hugo-boss:before,
.icon-Levis:before,
.icon-Lacoste:before,
.icon-persol:before,
.icon-ray-ban:before,
.icon-Tod_s:before,
.icon-swarovski:before,
.icon-mont-blanc:before {
  font-size: 46px; }

.icon-comma:before,
.icon-diesel:before,
.icon-marshall:before,
.icon-nike:before,
.icon-oakley:before,
.icon-ralph-lauren:before,
.icon-superdry:before,
.icon-Timberland:before,
.icon-Uvex:before,
.icon-arnette:before,
.icon-dsquared2:before {
  font-size: 36px; }

.icon-alpina:before,
.icon-emporio-armani:before,
.icon-julbo:before,
.icon-marc-jacobs:before,
.icon-prada:before,
.icon-tom-ford:before,
.icon-tommy-hilfiger:before,
.icon-wood-fellas:before,
.icon-miu-miu:before,
.icon-burberry:before,
.icon-balenciaga:before,
.icon-dkny:before,
.icon-bvlgari:before,
.icon-giorgio-armani:before,
.icon-ermenegildo-zegna:before,
.icon-yves-saint-laurent:before,
.icon-vogue:before,
.icon-versace:before,
.icon-smith:before,
.icon-sferoflex:before,
.icon-safilo:before,
.icon-roberto-cavalli:before,
.icon-replay:before,
.icon-pierre-cardin:before,
.icon-oxydo:before,
.icon-mara-max:before,
.icon-luxottica:before,
.icon-emilio-pucci:before {
  font-size: 25px; }

.button-group {
  margin-left: 30px;
  margin-right: 30px;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }
  .button-group:before, .button-group:after {
    display: none; }

.button.blackTryon {
  background-color: #000000 !important;
  color: white !important; }

.button.category {
  background-color: #152935;
  margin: 5px 0px;
  text-transform: uppercase; }

.button.petrol {
  background-color: #019BAE;
  color: #ffffff; }
  .button.petrol.hollow {
    color: #019BAE;
    border-color: #019BAE; }

.button.block {
  display: block; }

.button-line {
  margin-top: 10px;
  padding: 0.7rem 1rem;
  text-transform: uppercase;
  text-align: center;
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 12px;
  background-color: #ffffff; }
  .button-line.petrol {
    color: #019BAE;
    border: 1px solid #019BAE; }

.color-label {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 5px; }
  .color-label.has-tip {
    border: 0;
    cursor: pointer; }
  .color-label:hover, .color-label.current {
    box-shadow: 0 0 0px 2px white, 0 0 0px 3px #019BAE; }
  .color-label .single_color {
    display: inline-block;
    float: left;
    height: 100%; }

/* ----- black */
/* ----- black - purple */
/* ----- gray */
/* ----- white */
/* ----- yellow */
/* ----- brun - Jaune */
/* ----- orange */
/* ----- brun - orange */
/* ----- brown */
/* ----- brown - gray */
/* ----- Brun - red */
/* ----- red */
/* ----- pink */
/* ----- purple */
/* ----- blue */
/* ----- blue - green */
/* ----- green */
/* ----- olive */
.transparent {
  background-color: #e6e6fa !important; }

.blue, .bluetransparency, .bluetransparent {
  background-color: #0075EA !important; }

.lightbrown, .light-brown {
  background-color: #e69200 !important; }

.darkbrown, .dark-brown {
  background-color: #422200 !important; }

.darkblue, .dark-blue {
  background-color: #003a75 !important; }

.dark-brown, .darkbrown {
  background-color: #422200 !important; }

.green, .greentransparency, .greentransparent {
  background-color: #4fd44c !important; }

.light-green, .lightgreen {
  background-color: #9ef09c !important; }

.dark-green, .darkgreen {
  background-color: #1e7b1b !important; }

.gray, .transparent-gray, .grey {
  background-color: #515151 !important; }

.light-blue, .lightblue {
  background-color: #95caff !important; }

.red, .redtransparency, .redtransparent {
  background-color: #d00000 !important; }

.bordeaux, .dark-red {
  background-color: #580404 !important; }

.turquoise, .turqouise {
  background-color: #00bdd9 !important; }

.light-brown, .lightbrown {
  background-color: #e69200 !important; }

.pink, .pinktransparency {
  background-color: #de41bf !important; }

.darkolive, .dark-olive {
  background-color: #4b4f18 !important; }

.purple, .plum, .lila {
  background-color: #68228B !important; }

.black {
  background-color: #152935 !important; }

.gray {
  background-color: #515151 !important; }

.dark-purple {
  background-color: #4d0671 !important; }

.silverblue {
  background-color: #5e91c3 !important; }

.brown, .perigord, .afromosiabrown, .toffee, .burgundy, .mottled {
  background-color: #6e3900 !important; }

.bronze {
  background-color: #b66225 !important; }

.cream {
  background-color: #f4de78 !important; }

.graybrown {
  background-color: #664e34 !important; }

.moss {
  background-color: #439025 !important; }

.greenblue {
  background-color: #0fab90 !important; }

.redbrown {
  background-color: #7e1800 !important; }

.wine {
  background-color: #5f0422 !important; }

.c549e7 {
  background-color: #b600e8 !important; }

.olive {
  background-color: #7e852c !important; }

.vanilla {
  background-color: #ffeeab !important; }

.orange {
  background-color: #fb8e0e !important; }

.orangebrown {
  background-color: #8b600d !important; }

.white {
  background-color: #ffffff !important; }

.darkblue {
  background-color: #003a75 !important; }

.yellow {
  background-color: #efca00 !important; }

.cappuccino {
  background-color: #AF8E45 !important; }

.violet {
  background-color: #7F00FF !important; }

.platinum {
  background-color: #EDEDEF !important; }

.graphite {
  background-color: #454343 !important; }

.pearl {
  background-color: #E9E0DB !important; }

.chocolate {
  background-color: #7B3F00 !important; }

.mocha {
  background-color: #493D26 !important; }

.granite {
  background-color: #94927B !important; }

.ocean {
  background-color: #1C6BA0 !important; }

.coco {
  background-color: #E0D627 !important; }

.ice {
  background-color: #A5F2F3 !important; }

.flamingo {
  background-color: #E1634F !important; }

.hazel {
  background-color: #594c26 !important; }

.beige {
  background-color: #F5F5DC !important; }

.amber {
  background-color: #FF7E00 !important; }

.havana, .HAVANA {
  background-color: #3b2b2c !important; }

.metallic {
  background-color: #BCC6CC !important; }

.titan {
  background-color: #F1F0FF !important; }

.ivroy {
  background-color: #FFFFF0 !important; }

.blackcurrant {
  background-color: #3D3242 !important; }

.bamboo {
  background-color: #DC5C05 !important; }

.papyrus {
  background-color: #EEDFA6 !important; }

.ruby {
  background-color: #E0115F !important; }

.jewel {
  background-color: #1a8079 !important; }

.licorice {
  background-color: #1a1110 !important; }

.ebony {
  background-color: #0F0B19 !important; }

.grain {
  background-color: #fb8e0e !important; }

.oak {
  background-color: #640E27 !important; }

.mossgreen {
  background-color: #ADDFAD !important; }

.mint {
  background-color: #98FF98 !important; }

.cherrywood {
  background-color: #420C07 !important; }

.perigord {
  background-color: #6e3900 !important; }

.caramel {
  background-color: #CC9966 !important; }

.nougat {
  background-color: #fdfae9 !important; }

.lilywhite {
  background-color: #e9eeeb !important; }

.sunsetred {
  background-color: #bd1159 !important; }

.dawnblack {
  background-color: #152935 !important; }

.midnightblue {
  background-color: #003366 !important; }

.blackwood {
  background-color: #152935 !important; }

.afromosiabrown {
  background-color: #6e3900 !important; }

.caviar {
  background-color: #252122 !important; }

.antiquepink {
  background-color: #d36e70 !important; }

.dark-copper {
  background-color: #71291D !important; }

.dark-gray {
  background-color: #515151 !important; }

.coal {
  background-color: #2C2C2C !important; }

.ivory {
  background-color: #FFFFF0 !important; }

.navy {
  background-color: #03224C !important; }

.matte {
  background-color: #dcdcdc !important; }

.gold {
  background-color: #efca00 !important; }

.silver {
  background-color: #515151 !important; }

.gradient {
  background-image: linear-gradient(60deg, #ffffff, #152935) !important; }

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

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

/* =================================================
   0. VARIABLE
   ================================================= */
/* egal 16px */
/* egal 30px */
/* 1.60 egal 19px */
/* =================================================
   1. BASE
   ================================================= */
.show {
  display: block !important; }

table thead, table tbody, table tfoot {
  border: none;
  background-color: transparent; }

table thead {
  border-bottom: 1px solid #EAEAEA; }

table.statistics {
  text-align: center; }
  table.statistics thead {
    border-bottom: 1px solid #EAEAEA; }
    table.statistics thead th {
      text-align: center; }
  table.statistics .stat {
    color: #019BAE; }

@media screen and (min-width: 40em) {
  .margin-top {
    margin-top: 60px !important; }
  .margin-bottom {
    margin-bottom: 60px !important; } }

.no-margin {
  margin: 0 !important; }

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

.clearfix {
  clear: both; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.center-icon {
  position: relative; }
  .center-icon > * {
    font-size: 96px;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    left: 50%; }

/* =================================================
   . Callouts
   ================================================= */
.callout [class^="icon-"], .callout [class*=" icon-"] {
  font-size: 40px;
  margin: 0 15px; }

.callout.primary {
  border-color: #3D70B2; }
  .callout.primary [class^="icon-"], .callout.primary [class*=" icon-"] {
    color: #3D70B2; }

.callout.alert {
  border-color: #DC5E5E; }
  .callout.alert [class^="icon-"], .callout.alert [class*=" icon-"] {
    color: #DC5E5E; }

.callout.warning {
  border-color: #ffae00; }
  .callout.warning [class^="icon-"], .callout.warning [class*=" icon-"] {
    color: #ffae00; }

.callout.success {
  border-color: #72D237; }
  .callout.success [class^="icon-"], .callout.success [class*=" icon-"] {
    color: #72D237; }

.callout .media-object {
  margin-bottom: 0; }

.callout h2, .callout #cart-container h2, #cart-container .callout h2, .callout h3, .callout h4, .callout .cards_block .grid-x .cell .card .card-section .title, .cards_block .grid-x .cell .card .card-section .callout .title, .callout .checkout_summary .accordion > .accordion-title, .checkout_summary .callout .accordion > .accordion-title, .callout h5, .callout h6 {
  padding-right: 30px; }

/* =================================================
   . Buttons
   ================================================= */
.button.success {
  color: #ffffff; }

/* =================================================
   2. Z-Indexes
   ================================================= */
#title-bar-container {
  z-index: 1000; }

#language-selector .dropdown-pane {
  z-index: 860; }

.navigation-desktop-container {
  z-index: 850 !important; }
  .navigation-desktop-container .mega-dropdowns-container .dropdown-pane {
    z-index: 860; }

#search-input-results {
  z-index: 1100; }

#product-container .product-information-container {
  z-index: 800; }
  #product-container .product-information-container .add-to-cart-container {
    z-index: 850; }

#filter-nav-container {
  z-index: 10; }
  #filter-nav-container .show-results-container {
    z-index: 850; }

.off-canvas.is-open {
  z-index: 900 !important; }

/* =================================================
   . Box
   ================================================= */
.box, .tabs.free .tabs-title a {
  border: 1px solid #EAEAEA;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.01);
  padding: 1rem;
  background-color: #ffffff; }

/* =================================================
   . MENU
   ================================================= */
.menu.drilldown {
  margin-top: 50px; }

/* =================================================
   . Sticky things
   ================================================= */
.make-sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 40px;
  bottom: 0;
  padding: 10px 0;
  background: #ffffff; }

/* =================================================
   5. Flags and languages links (top bar and footer)
   ================================================= */
a.language {
  color: #152935;
  display: block;
  padding: 0.2rem 0.225rem 0.4rem 0.3rem; }

.flag {
  background-image: url("../img/flags/flags-sprite.png");
  background-size: 100%;
  width: 20px;
  height: 12px;
  display: inline-block;
  vertical-align: middle;
  margin: 0 8px 3px 0; }
  .flag.en {
    background-position: 0px 12px; }
  .flag.fr {
    background-position: 0px 0px; }
  .flag.fr-be {
    background-position: 0px 84px; }
  .flag.nl {
    background-position: 0px 72px; }
  .flag.nl-be {
    background-position: 0px 168px; }
  .flag.es {
    background-position: 0px 60px; }
  .flag.pt {
    background-position: 0px 48px; }
  .flag.de {
    background-position: 0px 36px; }
  .flag.eu {
    background-position: 0px 24px; }

/* =================================================
   . Lists
   ================================================= */
ul li.title {
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-size: 0.875rem;
  font-weight: bold;
  color: #5A6872;
  margin-bottom: 0.4375rem; }

/* =================================================
   5.1. Flags X2 for customer contact service
   ================================================= */
.flag-X2 {
  display: inline-block;
  vertical-align: middle;
  background-repeat: no-repeat; }
  .flag-X2.en {
    background-image: url("../img/flags/flag-uk.svg");
    width: 50px;
    height: 40px; }
  .flag-X2.fr {
    background-image: url("../img/flags/flag-france.svg");
    width: 50px;
    height: 40px; }
  .flag-X2.fr-be {
    background-image: url("../img/flags/flag-belgium.svg");
    width: 50px;
    height: 40px; }
  .flag-X2.nl {
    background-image: url("../img/flags/flag-netherlands.svg");
    width: 50px;
    height: 40px; }
  .flag-X2.nl-be {
    background-image: url("../img/flags/flag-belgium.svg");
    width: 50px;
    height: 40px; }
  .flag-X2.es {
    background-image: url("../img/flags/flag-spain.svg");
    width: 50px;
    height: 40px; }
  .flag-X2.pt {
    background-image: url("../img/flags/flag-portugal.svg");
    width: 50px;
    height: 40px; }

/* =================================================
   6. Ratings stars
   ================================================= */
.rating-stars {
  color: #3D70B2;
  font-size: 20px; }

/* =================================================
   7. Hollow labels
   ================================================= */
.label.hollow {
  background-color: transparent;
  border-style: solid;
  border-width: 1px;
  border-color: #3D70B2;
  color: #152935; }
  .label.hollow.primary {
    border-color: #3D70B2;
    color: #30588c; }
  .label.hollow.secondary {
    border-color: #6F7987;
    color: #58606b; }
  .label.hollow.tertiary {
    border-color: #DC5E5E;
    color: #d33434; }
  .label.hollow.success {
    border-color: #72D237;
    color: #5baf27; }
  .label.hollow.warning {
    border-color: #ffae00;
    color: #cc8b00; }
  .label.hollow.alert {
    border-color: #DC5E5E;
    color: #d33434; }
  .label.hollow.petrol {
    border-color: #019BAE;
    color: #016e7b; }

.label.large {
  font-size: 100%; }

/* =================================================
   8. Amounts pill (minus and plus amount modifier)
   ================================================= */
.amount-pill > * {
  font-weight: 700;
  background-color: #ffffff;
  width: 26px;
  display: table-cell;
  text-align: center;
  color: #515151;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); }
  .amount-pill > *:first-child, .amount-pill > *:last-child {
    background-color: #5A6872;
    width: 22px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
    color: #ffffff; }
  .amount-pill > *:first-child {
    border-radius: 2px 0 0 2px; }
  .amount-pill > *:last-child {
    border-radius: 0 2px 2px 0; }
  .amount-pill > *.inactive {
    background-color: #C8C8C8;
    color: #ffffff;
    cursor: not-allowed; }

/* =================================================
   9. Fake tables
   Used for mimiking the behaviour of a table inside an accordion-content li
   Yeah, tables inside accordions does just not work at all!
   ================================================= */
.fake-table {
  border: 1px solid #f7f7f7; }
  .fake-table .cell > * {
    display: block;
    padding: 0.5rem 0.625rem 0.625rem;
    text-align: center; }
    .fake-table .cell > *:first-child {
      background: #fbfbfb;
      color: #152935;
      font-weight: 700; }
      .fake-table .cell > *:first-child:hover {
        background: #f6f6f6; }
  .fake-table .cell:first-child > * {
    text-align: left !important;
    font-weight: 700; }
    .fake-table .cell:first-child > *:first-child {
      font-weight: normal;
      font-style: italic; }
      .fake-table .cell:first-child > *:first-child:before {
        content: ".";
        color: #fbfbfb; }

.fake-table-left {
  border: 1px solid #f7f7f7; }
  .fake-table-left .cell > * {
    display: block;
    padding: 0.5rem 0.625rem 0.625rem;
    text-align: left; }
    .fake-table-left .cell > *:first-child {
      background: #fbfbfb;
      color: #152935;
      font-weight: 700; }
      .fake-table-left .cell > *:first-child:hover {
        background: #f6f6f6; }
  .fake-table-left .cell:first-child > * {
    text-align: left !important;
    font-weight: 700; }
    .fake-table-left .cell:first-child > *:first-child {
      font-weight: normal;
      font-style: italic; }
      .fake-table-left .cell:first-child > *:first-child:before {
        content: ".";
        color: #fbfbfb; }

/* =================================================
   11. Step Progress
   ================================================= */
.progress-tracker {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 20px 0 30px 0;
  counter-reset: item;
  width: 100%; }
  @media screen and (min-width: 40em) {
    .progress-tracker {
      margin: 30px 0 30px 0; } }
  .progress-tracker .step-ball {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .progress-tracker .step-ball:before {
      font-size: 0.75rem;
      width: 25px;
      height: 25px;
      background: #C8C8C8;
      border-radius: 50%;
      color: #fff;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: absolute;
      content: counter(item) "  ";
      counter-increment: item;
      z-index: 2; }
      @media screen and (min-width: 40em) {
        .progress-tracker .step-ball:before {
          font-size: 1rem;
          width: 35px;
          height: 35px; } }
    .progress-tracker .step-ball.active:before {
      background: #019BAE; }
    .progress-tracker .step-ball .step-bar {
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      margin: 0.75rem 0 0 0;
      background: #C8C8C8;
      height: 5px;
      width: 100%;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      padding: 0;
      color: #C8C8C8;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative; }
      @media screen and (min-width: 40em) {
        .progress-tracker .step-ball .step-bar {
          margin: 1rem 0 0 0; } }
      .progress-tracker .step-ball .step-bar.active {
        background: #019BAE;
        color: #019BAE; }
      .progress-tracker .step-ball .step-bar .step-text {
        -webkit-transform: translate(0.75rem, -65%);
        -ms-transform: translate(0.75rem, -65%);
            transform: translate(0.75rem, -65%);
        font-weight: bold;
        font-size: 12px; }
        @media screen and (min-width: 40em) {
          .progress-tracker .step-ball .step-bar .step-text {
            -webkit-transform: translate(1rem, -80%);
            -ms-transform: translate(1rem, -80%);
                transform: translate(1rem, -80%);
            font-size: 14px; } }
  .progress-tracker .step-final {
    width: 25px;
    height: 25px; }
    .progress-tracker .step-final:before {
      font-size: 0.75rem;
      width: 25px;
      height: 25px;
      background: #C8C8C8;
      border-radius: 50%;
      color: #fff;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: absolute;
      box-sizing: border-box;
      content: counter(item) "  ";
      counter-increment: item; }
      @media screen and (min-width: 40em) {
        .progress-tracker .step-final:before {
          font-size: 1rem;
          width: 35px;
          height: 35px; } }
    .progress-tracker .step-final.active:before {
      background: #019BAE; }

/* =================================================
   . Tabs and "FREE" (no border centered versions)
   ================================================= */
.tabs {
  border-bottom: none; }

.tabs.free {
  display: inline-block;
  background: none;
  border: none;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .tabs.free .tabs-title {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-right: 0.625rem;
    margin-bottom: 0.625rem;
    margin-left: 0.625rem;
    position: relative; }
    @media print, screen and (min-width: 40em) {
      .tabs.free .tabs-title {
        width: calc(50% - 1.875rem); } }
    @media print, screen and (min-width: 64em) {
      .tabs.free .tabs-title {
        -webkit-flex: 1 1 0px;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px;
        width: auto; } }
    @media print, screen and (min-width: 40em) {
      .tabs.free .tabs-title {
        margin-top: 0.9375rem;
        margin-right: 0.9375rem;
        margin-bottom: 0.9375rem;
        margin-left: 0.9375rem; } }
    .tabs.free .tabs-title.is-active a {
      border-color: #3D70B2; }
    .tabs.free .tabs-title.recommended a:after {
      display: inline-block;
      padding: 0.33333rem 0.5rem;
      border-radius: 2px;
      font-size: 0.8rem;
      line-height: 1;
      white-space: nowrap;
      cursor: default;
      content: "recommended!";
      position: absolute;
      background-color: #72D237;
      color: #ffffff;
      font-weight: bold;
      right: -6px;
      top: -12px; }
    .tabs.free .tabs-title a {
      padding: 0;
      transition-property: "background-color";
      -webkit-transition-property: "background-color";
      transition-duration: 1s;
      height: 100%; }
      .tabs.free .tabs-title a .tabBullets {
        display: inline; }
        .tabs.free .tabs-title a .tabBullets span.icon-dot-circle-o {
          display: none; }
        .tabs.free .tabs-title a .tabBullets span.icon-dot-circle-o:before {
          opacity: 0; }
        .tabs.free .tabs-title a .tabBullets span.icon-circle-thin:before {
          opacity: 1; }
      .tabs.free .tabs-title a .grid-x {
        height: 100% !important; }
        .tabs.free .tabs-title a .grid-x .cell {
          padding-top: 0.625rem;
          padding-right: 0.625rem;
          padding-bottom: 0.625rem;
          padding-left: 0.625rem; }
          @media print, screen and (min-width: 40em) {
            .tabs.free .tabs-title a .grid-x .cell {
              padding-top: 0.9375rem;
              padding-right: 0.9375rem;
              padding-bottom: 0.9375rem;
              padding-left: 0.9375rem; } }
          .tabs.free .tabs-title a .grid-x .cell.right {
            background-color: #FBFBFB; }
          .tabs.free .tabs-title a .grid-x .cell.bottom {
            background-color: #FBFBFB; }
            .tabs.free .tabs-title a .grid-x .cell.bottom span {
              display: inline-block;
              margin: 0 0.25rem; }
          .tabs.free .tabs-title a .grid-x .cell .label {
            margin: 0.5rem 0 0; }

/* =================================================
   . Alternate color
   ================================================= */
.alternate > h2, #cart-container .alternate > h2, .alternate section > h2, .alternate #cart-container section > h2, #cart-container .alternate section > h2,
.alternate > h3, .alternate section > h3,
.alternate > h4,
.cards_block .grid-x .cell .card .card-section .alternate > .title,
.checkout_summary .accordion.alternate > .accordion-title, .alternate section > h4, .alternate .cards_block .grid-x .cell .card .card-section section > .title, .cards_block .grid-x .cell .card .card-section .alternate section > .title, .alternate .checkout_summary section.accordion > .accordion-title, .checkout_summary .alternate section.accordion > .accordion-title,
.alternate > h5, .alternate section > h5 {
  margin-bottom: 2rem;
  margin-top: 0; }

.alternate.padding {
  padding: 2rem 0; }

.alternate:nth-child(even) {
  background: #FBFBFB; }
  .alternate:nth-child(even).divider:nth-child(even) {
    border-style: solid none;
    border-width: 1px 0;
    border-color: #EAEAEA; }

.alternate:nth-child(odd) {
  background: #ffffff; }
  .alternate:nth-child(odd).divider:nth-child(odd) {
    border: none; }

/* =================================================
   . Helper icons
   ================================================= */
.helper-icon {
  color: #6F7987;
  cursor: pointer;
  vertical-align: middle;
  margin: 0px 5px;
  padding: 0px 0 1px; }
  .helper-icon:hover {
    color: #3D70B2; }

/* =================================================
   . Step Progress
   ================================================= */
.pagination {
  margin-top: 1.5rem; }

/* =================================================
   . Select clone : Reproduce the look 'n feel of a
                    select on a span element
   ================================================= */
.select-clone {
  background: #FBFBFB;
  border-radius: 2px;
  color: #152935;
  border: 1px solid #C8C8C8;
  padding: 0.5rem 34px 0.5rem 1rem;
  font-size: 1rem;
  display: inline-block;
  position: relative; }
  .select-clone:before {
    color: #333333;
    position: absolute;
    right: 10px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

.material_form .form-group {
  position: relative;
  border: none;
  overflow: hidden;
  margin: 10px 0; }
  .material_form .form-group input[type='email'] ~ label,
  .material_form .form-group input[type='password'] ~ label,
  .material_form .form-group input[type='text'] ~ label,
  .material_form .form-group input[type="tel"] ~ label,
  .material_form .form-group input[type='select'] ~ label {
    position: absolute;
    top: 25px;
    left: 8px;
    color: #5A6872;
    -webkit-transform-origin: left;
        -ms-transform-origin: left;
            transform-origin: left; }
  .material_form .form-group input[type='text']:valid:required ~ label {
    color: #5baf27; }
  .material_form .form-group input[type='email']:focus ~ label,
  .material_form .form-group input[type='email']:valid ~ label,
  .material_form .form-group input[type='password']:focus ~ label,
  .material_form .form-group input[type='password']:valid ~ label,
  .material_form .form-group input[type='text']:focus ~ label,
  .material_form .form-group input[type='text']:valid ~ label,
  .material_form .form-group input[type="tel"]:focus ~ label,
  .material_form .form-group input[type="tel"]:valid ~ label {
    top: 0;
    left: 0;
    -webkit-transform: scale(0.8, 0.8);
        -ms-transform: scale(0.8, 0.8);
            transform: scale(0.8, 0.8); }
  .material_form .form-group input[type='email'],
  .material_form .form-group input[type='password'],
  .material_form .form-group input[type='text'],
  .material_form .form-group input[type="tel"] {
    background-color: #ffffff;
    border-top: none;
    border-right: none;
    border-left: none;
    box-shadow: none;
    border-bottom-color: #5A6872;
    border-radius: 0;
    margin-top: 20px; }
  .material_form .form-group input[type='email']:focus,
  .material_form .form-group input[type='password']:focus,
  .material_form .form-group input[type='text']:focus,
  .material_form .form-group input[type="tel"]:focus {
    outline: none;
    box-shadow: none;
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom-color: #5A6872; }
  .material_form .form-group input[type='email']:invalid ~ label {
    position: absolute;
    top: 0px;
    left: 0px; }
  .material_form .form-group select ~ label {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: scale(0.8, 0.8);
        -ms-transform: scale(0.8, 0.8);
            transform: scale(0.8, 0.8); }
  .material_form .form-group select {
    background-color: #ffffff;
    border-top: none;
    border-right: none;
    border-left: none;
    box-shadow: none;
    border-bottom-color: #5A6872;
    border-radius: 0;
    margin-top: 20px; }
  .material_form .form-group input[type='checkbox'] {
    margin: 0;
    width: 1px; }
  .material_form .form-group input[type='checkbox'] ~ label {
    margin-left: 26px; }
  .material_form .form-group input[type='checkbox']:before {
    background: white;
    display: block;
    content: "\f096";
    font-family: 'icomoon';
    color: #016e7b;
    width: 26px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    padding: 3px 0 0 4px;
    font-size: 22px; }
  .material_form .form-group [type='checkbox']:checked:before {
    content: "\f046"; }
  .material_form .form-group label {
    font-size: 1rem;
    transition: all 0.3s ease; }
  .material_form .form-group input:focus ~ label,
  .material_form .form-group select:focus ~ label {
    color: #019BAE; }
  .material_form .form-group input:focus,
  .material_form .form-group select:focus {
    border-bottom-color: #019BAE !important;
    border-bottom-width: 2px; }

.inline_form .form-group {
  margin-top: 15px; }
  @media screen and (max-width: 39.99875em) {
    .inline_form .form-group {
      text-align: center; } }
  .inline_form .form-group label {
    display: inline-block;
    width: 30%; }
    @media screen and (max-width: 39.99875em) {
      .inline_form .form-group label {
        text-align: left; } }
    @media screen and (min-width: 64em) {
      .inline_form .form-group label {
        width: 20%; } }
    .inline_form .form-group label:after {
      content: " : "; }
  .inline_form .form-group input[type='email'],
  .inline_form .form-group input[type='password'],
  .inline_form .form-group input[type='text'],
  .inline_form .form-group input[type="tel"],
  .inline_form .form-group input[type='select'],
  .inline_form .form-group input[type='checkbox'],
  .inline_form .form-group select {
    display: inline-block;
    width: 65%;
    margin: 0; }
    @media screen and (min-width: 64em) {
      .inline_form .form-group input[type='email'],
      .inline_form .form-group input[type='password'],
      .inline_form .form-group input[type='text'],
      .inline_form .form-group input[type="tel"],
      .inline_form .form-group input[type='select'],
      .inline_form .form-group input[type='checkbox'],
      .inline_form .form-group select {
        width: 75%; } }
  .inline_form .form-group input[type='checkbox'] {
    position: relative; }
    .inline_form .form-group input[type='checkbox']:before {
      left: 0;
      top: 0;
      padding: 0;
      font-size: initial; }
  .inline_form .form-group .date-Birth {
    display: inline-block;
    width: 65%; }
    @media screen and (min-width: 64em) {
      .inline_form .form-group .date-Birth {
        width: 75%; } }
    .inline_form .form-group .date-Birth .date {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      margin: 0; }
      .inline_form .form-group .date-Birth .date div {
        -webkit-flex: 1 1 0px;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px;
        width: auto;
        margin-right: 0.625rem;
        margin-left: 0.625rem;
        margin: 0; }
        .inline_form .form-group .date-Birth .date div select {
          width: 100%;
          margin: 0; }
      .inline_form .form-group .date-Birth .date div:nth-child(2) {
        margin-left: 10px;
        margin-right: 10px; }

.inline_form button {
  float: right;
  margin-right: 20px; }
  @media screen and (min-width: 40em) {
    .inline_form button {
      margin-right: 25px; } }
  @media screen and (min-width: 64em) {
    .inline_form button {
      margin-right: 55px; } }

.header-desktop .header-center .logo-link {
  display: inline-block; }
  .header-desktop .header-center .logo-link img {
    height: 60px;
    margin: 15px 20px; }

.header-desktop .header-right {
  font-size: 90%; }
  .header-desktop .header-right .grid-y {
    height: 100%; }
    .header-desktop .header-right .grid-y .cell {
      width: 100%;
      position: relative; }
      .header-desktop .header-right .grid-y .cell > div {
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        text-align: right;
        width: 100%; }
  .header-desktop .header-right a {
    color: #152935; }
  .header-desktop .header-right [class^="icon-"] {
    color: #6F7987;
    margin-left: 20px;
    font-size: 32px; }
  .header-desktop .header-right .badge.cart {
    font-weight: 700;
    position: absolute;
    margin-left: 0px;
    right: -15px;
    background-color: #72D237; }
    .header-desktop .header-right .badge.cart[data-cartCount="0"] {
      display: none; }
  .header-desktop .header-right .badge.wishlist {
    font-weight: 700;
    position: absolute;
    margin-left: 0px;
    right: -15px;
    font-weight: bold;
    background-color: #DC5E5E; }
    .header-desktop .header-right .badge.wishlist[data-wishlistCount="0"] {
      display: none; }

.search-input {
  height: 25px;
  position: relative; }
  .search-input input {
    margin: 0; }
  .search-input input[type="text"] {
    height: 25px;
    max-width: initial;
    position: absolute;
    right: 0;
    z-index: 3;
    border: none;
    background: none;
    box-shadow: none;
    outline: none;
    cursor: pointer;
    padding-right: 25px;
    padding-bottom: 20px;
    display: inline-block;
    transition: width 0.4s cubic-bezier(0, 0.795, 0, 1);
    width: 0px; }
    .search-input input[type="text"]:focus {
      width: 200px;
      border-bottom: 1px solid #C8C8C8;
      max-width: initial;
      z-index: 1;
      cursor: text;
      background-color: #ffffff; }
      .search-input input[type="text"]:focus:hover {
        border-bottom: 1px solid #C8C8C8; }
    @media screen and (max-width: 39.99875em) {
      .search-input input[type="text"] {
        width: 100% !important; } }
  .search-input button.button {
    height: 25px;
    width: 25px;
    display: inline-block;
    border: none;
    background: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    opacity: 1;
    cursor: pointer;
    transition: opacity .4s ease;
    font-size: 18px;
    color: #152935; }
    .search-input button.button:hover {
      opacity: 0.8; }
    .search-input button.button span {
      top: 0;
      position: absolute; }

#search-input-results {
  position: absolute;
  right: inherit;
  margin-top: 11px;
  width: 100%; }
  @media screen and (min-width: 40em) {
    #search-input-results {
      margin-left: -20em;
      width: 20em; } }
  @media screen and (max-width: 39.99875em) {
    #search-input-results {
      border: none; } }
  #search-input-results .search_container {
    background-color: #ffffff;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.03);
    border: 1px solid #C8C8C8;
    border-top: none; }
    @media screen and (max-width: 39.99875em) {
      #search-input-results .search_container {
        box-shadow: none;
        border: none; } }
  #search-input-results .no-product {
    margin-bottom: 0px;
    padding: 0.5em 1em; }
  #search-input-results .search_item {
    padding: 0.5em 1em; }
    #search-input-results .search_item .product-image {
      margin-bottom: 0px;
      width: 100%; }
    #search-input-results .search_item .product-title {
      -webkit-align-self: center;
          -ms-flex-item-align: center;
                  -ms-grid-row-align: center;
              align-self: center; }
    #search-input-results .search_item a {
      color: #152935; }
    #search-input-results .search_item p {
      margin: 0;
      margin-left: 10px; }
    #search-input-results .search_item .heading {
      font-weight: bold;
      font-size: 14px;
      padding-bottom: 0;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
    #search-input-results .search_item .description, #search-input-results .search_item .price {
      color: #152935;
      line-height: 21px;
      font-size: 14px; }
    @media screen and (min-width: 64em) {
      #search-input-results .search_item:hover p {
        color: #019BAE; } }

@media screen and (max-width: 39.99875em) {
  .navigation-mobile-container {
    padding-top: 50px;
    padding-bottom: 50px; }
    .navigation-mobile-container .top-bar {
      display: block !important; }
      .navigation-mobile-container .top-bar .top-bar-left {
        display: none; }
      .navigation-mobile-container .top-bar .top-bar-right {
        padding: 1rem 1rem 1rem 0.2rem; }
    .navigation-mobile-container > div > .grid-container {
      padding: 0; }
    .navigation-mobile-container > div .menu_element .off-canvas-menu-tab {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      transition: all .2s linear; }
      .navigation-mobile-container > div .menu_element .off-canvas-menu-tab > a {
        color: #152935;
        padding-top: 0.7rem;
        padding-bottom: 0.7rem; }
        .navigation-mobile-container > div .menu_element .off-canvas-menu-tab > a.title-text {
          -webkit-flex: 0 0 auto;
              -ms-flex: 0 0 auto;
                  flex: 0 0 auto;
          width: auto;
          margin-right: 0.625rem;
          margin-left: 0.625rem;
          text-transform: uppercase; }
        .navigation-mobile-container > div .menu_element .off-canvas-menu-tab > a.caret {
          -webkit-flex: 1 1 0px;
              -ms-flex: 1 1 0px;
                  flex: 1 1 0px;
          width: auto;
          margin-right: 0.625rem;
          margin-left: 0.625rem;
          text-align: right;
          position: relative; }
          .navigation-mobile-container > div .menu_element .off-canvas-menu-tab > a.caret:after {
            font-family: icomoon;
            content: '\f053';
            -webkit-transform: rotate(180deg);
                -ms-transform: rotate(180deg);
                    transform: rotate(180deg);
            position: absolute;
            top: 11px;
            right: 10px;
            transition: all .2s linear; }
    .navigation-mobile-container > div .menu_element .sub_menu {
      height: 0;
      opacity: 0;
      overflow-y: hidden;
      transition: all .3s linear;
      border-bottom: 1px solid #C8C8C8; }
      .navigation-mobile-container > div .menu_element .sub_menu .dropdown-pane {
        display: block;
        visibility: visible;
        position: relative;
        border: none;
        left: unset !important;
        top: unset !important;
        padding: 0;
        width: auto; }
        .navigation-mobile-container > div .menu_element .sub_menu .dropdown-pane .grid-x {
          margin-top: 0;
          margin-bottom: 0; }
        .navigation-mobile-container > div .menu_element .sub_menu .dropdown-pane img {
          width: 100%; }
        .navigation-mobile-container > div .menu_element .sub_menu .dropdown-pane .link_list ul li a {
          display: block;
          color: #152935;
          padding-top: 0.7rem;
          padding-bottom: 0.7rem; }
    .navigation-mobile-container > div .menu_element.expanded .off-canvas-menu-tab {
      background-color: #152935; }
      .navigation-mobile-container > div .menu_element.expanded .off-canvas-menu-tab a {
        color: white; }
        .navigation-mobile-container > div .menu_element.expanded .off-canvas-menu-tab a.caret:after {
          -webkit-transform: rotate(270deg);
              -ms-transform: rotate(270deg);
                  transform: rotate(270deg); }
    .navigation-mobile-container > div .menu_element.expanded .sub_menu {
      height: auto;
      opacity: 1; } }
  @media screen and (max-width: 39.99875em) and (max-width: 39.99875em) {
    .navigation-mobile-container .topest-mobile .account .button-group {
      margin-left: 0px;
      margin-right: 0px;
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: auto;
      margin-right: 0.625rem;
      margin-left: 0.625rem; } }

@media screen and (max-width: 39.99875em) {
    .navigation-mobile-container .link_list {
      margin-bottom: 0;
      margin-top: 0; }
      .navigation-mobile-container .link_list ul {
        margin-bottom: 0; }
  #menuElement5 #submenu5 ul {
    margin: 0;
    padding: 0; }
    #menuElement5 #submenu5 ul li {
      background-color: #FFFFFF; }
      #menuElement5 #submenu5 ul li a.title-text {
        color: #000000;
        font-weight: normal;
        margin: 0;
        padding-left: 1rem;
        width: 100%; } }

@media screen and (min-width: 40em) {
  .main-menu {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    [data-whatinput='mouse'] .main-menu li {
      outline: 0; }
    .main-menu a,
    .main-menu .button {
      line-height: 1;
      text-decoration: none;
      display: block;
      padding: 0.7rem 1rem; }
    .main-menu input,
    .main-menu select,
    .main-menu a,
    .main-menu button {
      margin-bottom: 0; }
    .main-menu input {
      display: inline-block; }
    .main-menu .main-menu__link {
      font-family: "Open Sans", Helvetica Neue, Helvetica, Arial, sans-serif;
      font-size: 1.125rem;
      color: #515151;
      padding-top: 1.2rem;
      padding-bottom: 1.2rem; }
      .main-menu .main-menu__link:hover, .main-menu .main-menu__link:focus {
        color: #152935; }
      .main-menu .main-menu__link--active {
        font-weight: 600;
        color: #152935; } }
    @media screen and (min-width: 40em) and (min-width: 64em) {
      .main-menu .main-menu__link {
        letter-spacing: 1px; } }

@media screen and (min-width: 40em) {
  .navigation-desktop-container {
    visibility: visible !important;
    width: 100% !important;
    display: block !important;
    position: relative !important;
    top: unset !important;
    left: unset !important;
    overflow-y: unset !important;
    -webkit-transform: initial !important;
        -ms-transform: initial !important;
            transform: initial !important;
    margin: 0 !important; }
    .navigation-desktop-container > div {
      background-color: #ffffff;
      box-shadow: 0 3px 3px rgba(0, 0, 0, 0.03);
      border-bottom: 1px solid #EAEAEA; }
      .navigation-desktop-container > div .top-bar {
        padding: 0; }
        .navigation-desktop-container > div .top-bar .top-bar-left {
          text-transform: uppercase; }
          .navigation-desktop-container > div .top-bar .top-bar-left ul li {
            margin: 0; }
            .navigation-desktop-container > div .top-bar .top-bar-left ul li:first-child a {
              padding-left: 0; }
        .navigation-desktop-container > div .top-bar .top-bar-right {
          height: 25px;
          padding-top: 0.1rem;
          padding-bottom: 0.1rem; }
      .navigation-desktop-container > div .mega-dropdowns-container {
        width: 100%; }
        .navigation-desktop-container > div .mega-dropdowns-container .dropdown-pane {
          left: 0 !important;
          width: 100%;
          border: none;
          box-shadow: 0 3px 3px rgba(0, 0, 0, 0.05);
          padding: 0 0 1rem 0; }
          .navigation-desktop-container > div .mega-dropdowns-container .dropdown-pane .cell {
            margin-bottom: 0 !important; }
          .navigation-desktop-container > div .mega-dropdowns-container .dropdown-pane:last-child {
            border: none; }
          .navigation-desktop-container > div .mega-dropdowns-container .dropdown-pane > * {
            margin-bottom: 10px; }
          .navigation-desktop-container > div .mega-dropdowns-container .dropdown-pane .button.hollow {
            color: #152935;
            border-color: #152935;
            border-width: 2px; }
          .navigation-desktop-container > div .mega-dropdowns-container .dropdown-pane ul {
            margin-bottom: 0; }
            .navigation-desktop-container > div .mega-dropdowns-container .dropdown-pane ul li a {
              color: #152935; }
              .navigation-desktop-container > div .mega-dropdowns-container .dropdown-pane ul li a:hover, .navigation-desktop-container > div .mega-dropdowns-container .dropdown-pane ul li a:focus {
                color: #818181; }
    .navigation-desktop-container .mega-menu-subtitle {
      border-bottom: 1px solid #848484; }
    .navigation-desktop-container .mega-menu-subtitle-link {
      text-transform: uppercase;
      color: #152935;
      font-size: 1rem;
      font-weight: 600;
      margin-top: 1rem;
      margin-bottom: 0.4rem;
      display: inline-block; }
    .navigation-desktop-container .mega-menu-link-active {
      font-weight: 600; } }

.navigation-mobile-container .label {
  background-color: #152935;
  border-radius: 0;
  font-family: "Open Sans", Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer; }
  .navigation-mobile-container .label:hover, .navigation-mobile-container .label:focus {
    color: #ffffff; }
  .navigation-mobile-container .label span {
    position: relative;
    padding-right: 22px; }
    .navigation-mobile-container .label span:after {
      font-family: "icomoon";
      content: "\f101";
      font-size: 140%;
      margin: 0 2px 0 8px;
      position: absolute;
      right: 0;
      top: 0; }

.navigation-mobile-container hr {
  margin: 0; }

#title-bar-container {
  position: -webkit-sticky;
  position: sticky;
  top: 0; }
  #title-bar-container .title-bar {
    background-color: #ffffff;
    color: #152935; }
    #title-bar-container .title-bar .title-bar-center .logo-link {
      display: inline-block; }
      #title-bar-container .title-bar .title-bar-center .logo-link img {
        height: 35px;
        margin: 0px 10px; }
    #title-bar-container .title-bar .title-bar-left button:after {
      background: #152935;
      box-shadow: 0 7px 0 #152935, 0 14px 0 #152935; }
    #title-bar-container .title-bar .title-bar-right button,
    #title-bar-container .title-bar .title-bar-right a {
      color: #152935;
      margin-left: 0.25rem;
      margin-right: 0.25rem;
      width: 20px;
      height: 20px;
      display: inline-block;
      font-size: 18px;
      line-height: 18px;
      vertical-align: middle; }
  #title-bar-container .badge.cart {
    font-weight: 700;
    position: relative;
    top: -5px;
    left: -10px;
    opacity: 0.5;
    width: 25px;
    background-color: #72D237; }
    #title-bar-container .badge.cart[data-cartCount="0"] {
      display: none; }
  #title-bar-container .badge.wishlist {
    position: relative;
    background-color: #DC5E5E;
    top: -5px;
    left: -10px;
    width: 25px;
    opacity: 0.5; }
    #title-bar-container .badge.wishlist[data-wishlistCount="0"] {
      display: none; }

.topest-bar {
  background: #019BAE;
  font-size: 90%; }
  .topest-bar .topest-left {
    margin-top: 2px;
    margin-bottom: 2px; }
    .topest-bar .topest-left a {
      color: #ffffff;
      margin-right: 10px;
      white-space: nowrap; }
  .topest-bar .topest-center {
    margin-top: 2px;
    margin-bottom: 2px; }
    .topest-bar .topest-center a {
      color: #ffffff;
      white-space: nowrap; }
  .topest-bar .topest-right {
    margin-top: 2px;
    margin-bottom: 2px;
    color: #ffffff; }
    .topest-bar .topest-right .account {
      white-space: nowrap; }
    .topest-bar .topest-right a {
      color: #ffffff;
      margin-right: 10px;
      white-space: nowrap; }

footer a:hover {
  text-decoration: underline; }

#footer_primary {
  background-color: #FBFBFB;
  border: none;
  border-top: 1px solid #C8C8C8;
  padding-top: 65px;
  padding-bottom: 65px;
  margin-top: 65px; }
  #footer_primary p.headline {
    font-weight: bold; }
  #footer_primary a {
    padding-left: 0px;
    color: #152935; }
  #footer_primary .menu.vertical {
    margin-bottom: 20px; }
  #footer_primary .image_groupe {
    padding-bottom: 20px; }
    #footer_primary .image_groupe img {
      margin: 0 5px 10px; }

#footer_secondary {
  background-color: #2E3642;
  text-align: center;
  padding-top: 32px;
  padding-bottom: 32px; }
  #footer_secondary a {
    color: #ffffff; }
  #footer_secondary .bottom_line_links_separation {
    color: #ffffff;
    padding-left: 10px;
    padding-right: 10px; }
  #footer_secondary .footer-line-date {
    color: #ffffff; }

/* =================================================
   Funnel pages specifications
   ================================================= */
body.funnel-body {
  background-color: #FBFBFB; }
  body.funnel-body h2:before, body.funnel-body #cart-container h2:before, #cart-container body.funnel-body h2:before {
    content: "";
    background-color: #019BAE;
    width: 56px;
    height: 4px;
    display: block;
    margin: 10px 0 10px; }
  body.funnel-body .title-bar {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid #C8C8C8; }
    body.funnel-body .title-bar .menu-icon {
      display: none; }
  body.funnel-body #header-desktop {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid #C8C8C8; }
  body.funnel-body .bottom-line-links .line-legal {
    display: none; }

/* =================================================
   Funnel and account forms
   ================================================= */
.spacer-15 {
  height: 15px;
  display: block; }

.spacer-30 {
  height: 30px;
  display: block; }

.spacer-45 {
  height: 45px;
  display: block; }

.login-container a {
  display: block;
  text-align: right;
  text-decoration: underline; }

.products-list {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 64em) {
    .products-list {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }

.product-card {
  margin-bottom: 60px;
  padding: 0 30px;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .product-card {
      width: calc(50% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .product-card {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media screen and (min-width: 90em) {
    .product-card {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .product-card:hover .product-card__image, .product-card:focus .product-card__image {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }
  .product-card:hover .product-card__wishlist-btn, .product-card:focus .product-card__wishlist-btn {
    visibility: visible;
    opacity: 1; }

.product-card__link {
  display: block; }
  .product-card__link:hover .product-card__image, .product-card__link:focus .product-card__image {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }

.product-card__image-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  height: 200px; }

.product-card__image {
  transition: -webkit-transform .25s ease-in;
  transition: transform .25s ease-in;
  transition: transform .25s ease-in, -webkit-transform .25s ease-in;
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center; }

.product-card__details {
  font-size: 1.125rem;
  color: #515151;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media print, screen and (min-width: 40em) {
    .product-card__details {
      margin-top: 5px; } }

.product-card__name {
  font-size: 1.125rem;
  margin: 0;
  /* TODO: Remove once model name and color are separated */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.product-card__subtitle {
  font-size: 0.875rem; }

.product-card__price {
  margin-left: 20px; }

.product-card__colors {
  margin-top: 15px; }

@media screen and (min-width: 64em) {
  /* Add to wishlist button is always shown on mobile  
	   but on larger screens, it's displayed on hover only
	*/
  .product-card__wishlist-btn {
    opacity: 0;
    -webkit-transform: translate3d(0, 2px, 0);
            transform: translate3d(0, 2px, 0);
    transition: all .2s ease-in-out; }
  .product-card:hover .product-card__wishlist-btn, .product-card:focus .product-card__wishlist-btn {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-duration: .2s;
            animation-duration: .2s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp; } }

.product-card__actions {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 3px; }

.product-card__sizes .size-text,
.product-card__sizes .size-value {
  font-size: 10px;
  color: #5A6872; }
  @media screen and (min-width: 64em) {
    .product-card__sizes .size-text,
    .product-card__sizes .size-value {
      font-size: 12px; } }

.card-try-on {
  display: block; }
  .card-try-on .try-it-on {
    text-transform: uppercase;
    color: #515151;
    border: 1px solid #515151;
    padding: 3px;
    font-size: 10px; }
    .card-try-on .try-it-on:before {
      content: "\f2c0";
      font-family: 'icomoon';
      color: #515151;
      padding: 3px;
      border: 0; }

@media screen and (min-width: 64em) {
  .card-size .size-text, .card-size .size-value {
    font-size: 14px; }
  .card-try-on {
    font-size: 80%;
    opacity: 0;
    -webkit-transform: translate3d(0, 2px, 0);
            transform: translate3d(0, 2px, 0);
    transition: all .2s ease-in-out; }
    .card-try-on .try-it-on {
      border: none;
      padding: 0px;
      font-size: 12px; }
  .product-card:hover .card-try-on, .product-card:focus .card-try-on {
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    -webkit-animation-duration: .2s;
            animation-duration: .2s;
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

/* =================================================
   Carousel Intro
   ================================================= */
.carousel {
  position: relative; }

/* =================================================
   Carousel Product
   ================================================= */
.slick-carousel .slick-prev:before, .slick-carousel .slick-next:before {
  font-family: icomoon;
  content: '\f053';
  color: #C8C8C8; }

.slick-carousel .slick-prev {
  left: 5px;
  z-index: 999; }
  .slick-carousel .slick-prev:before {
    content: '\f053'; }

.slick-carousel .slick-next {
  right: 5px; }
  .slick-carousel .slick-next:before {
    content: '\f054'; }

.slick-carousel .slick-dots {
  display: none !important; }

.slick-carousel .product-carousel {
  text-align: center;
  padding-right: 30px;
  padding-left: 30px; }
  .slick-carousel .product-carousel .thumbnail {
    border: none;
    box-shadow: none;
    padding: 10px; }
    .slick-carousel .product-carousel .thumbnail:focus {
      outline: none; }
  .slick-carousel .product-carousel .badge {
    width: 16px;
    height: 16px;
    min-width: initial;
    font-size: 1rem;
    background: #C8C8C8; }
  .slick-carousel .product-carousel .title-product {
    line-height: initial;
    font-size: initial;
    margin-bottom: initial;
    margin-top: 5px;
    margin: 0;
    padding: 0; }
    .slick-carousel .product-carousel .title-product a {
      font-style: normal;
      font-weight: normal;
      line-height: 21px;
      font-size: 14px;
      color: #152935;
      width: 80%;
      overflow: hidden;
      display: inline-block;
      text-overflow: ellipsis;
      white-space: nowrap; }
  .slick-carousel .product-carousel .price-product {
    font-style: regular;
    font-size: 14px;
    line-height: 21px;
    text-align: center;
    margin-top: 5px;
    margin: 0;
    padding: 0; }

/* =================================================
   Carousel BRANDS
   ================================================= */
.slick-carousel-brands .slick-track {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.slick-carousel-brands .slick-slide {
  text-align: center;
  vertical-align: middle; }
  .slick-carousel-brands .slick-slide a {
    color: #152935; }
    .slick-carousel-brands .slick-slide a:hover {
      color: #019BAE; }

.language-selector {
  color: #152935;
  white-space: nowrap; }
  .language-selector > a {
    color: #ffffff; }
  .language-selector .dropdown-pane {
    width: auto;
    border-color: #EAEAEA;
    background-color: #ffffff;
    padding: 10px 10px 6px;
    font-size: 90%; }
    .language-selector .dropdown-pane a {
      color: #152935;
      display: block;
      padding: 0.2rem 0.225rem 0.4rem 0.3rem; }

@media screen and (max-width: 39.99875em) {
  .language-selector {
    text-align: center; }
    .language-selector a {
      color: #152935; }
    .language-selector .dropdown-pane {
      position: relative;
      width: initial;
      float: initial;
      margin: 10px;
      top: 0 !important;
      left: 0 !important; } }

/* =================================================
   DESCRIPTION BOTTOM
   ================================================= */
.description-bottom-content {
  letter-spacing: 2px; }
  .description-bottom-content .description-bottom {
    display: block;
    /* Fallback for non-webkit */
    height: 38.4px;
    /* Fallback for non-webkit */
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.6;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis; }
    @media screen and (min-width: 64em) {
      .description-bottom-content .description-bottom {
        height: 100%;
        /* Fallback for non-webkit */
        font-size: 14px;
        line-height: 113%; } }
  .description-bottom-content .btn-info {
    color: #3D70B2;
    background: none;
    transition: none;
    border: none;
    vertical-align: initial;
    padding: 0;
    margin: 0;
    margin-top: 10px;
    font-size: 12px;
    line-height: 16px;
    text-decoration: underline; }
    @media screen and (min-width: 64em) {
      .description-bottom-content .btn-info {
        display: none; } }
    .description-bottom-content .btn-info span.more-info {
      display: block; }
    .description-bottom-content .btn-info span.less-info {
      display: none; }

.description-bottom-content.description-bottom-toggler .description-bottom {
  height: 100%; }

.description-bottom-content.description-bottom-toggler .btn-info span.more-info {
  display: none; }

.description-bottom-content.description-bottom-toggler .btn-info span.less-info {
  display: block; }

/* =================================================
   FILTER
   ================================================= */
#filter-nav-container {
  background-color: #ffffff;
  border-top: 1px solid #C8C8C8;
  border-bottom: 1px solid #C8C8C8;
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.03);
  padding: 10px 0; }
  @media screen and (min-width: 40em) {
    #filter-nav-container {
      position: -webkit-sticky;
      position: sticky;
      top: 0px; } }
  @media screen and (max-width: 39.99875em) {
    #filter-nav-container .small-fixed-top {
      position: fixed;
      top: 50px;
      left: 0px;
      z-index: 10;
      display: block;
      width: 100%; }
    #filter-nav-container .mobile-filter-band-container {
      color: #515151;
      text-transform: uppercase;
      font-size: 10px;
      line-height: 12px;
      font-weight: 400; }
      #filter-nav-container .mobile-filter-band-container a {
        color: #515151;
        text-transform: uppercase; }
    #filter-nav-container .overlay {
      background-color: rgba(10, 10, 10, 0.45);
      height: 100%;
      width: 100%;
      top: 0;
      left: 0;
      position: fixed;
      display: none; }
      #filter-nav-container .overlay.show-mobile {
        display: block !important; }
      #filter-nav-container .overlay #filter-menu {
        position: fixed;
        width: 90%;
        height: 85%;
        top: 8.5%;
        left: 5%;
        background: white;
        display: none; }
        #filter-nav-container .overlay #filter-menu.show-mobile {
          display: block !important;
          overflow: scroll; }
        #filter-nav-container .overlay #filter-menu h2 {
          font-size: 14px;
          text-transform: uppercase; }
          #filter-nav-container .overlay #filter-menu h2:before {
            display: none; }
        #filter-nav-container .overlay #filter-menu .filter-title-mobile {
          padding: 20px 20px 0px 20px;
          position: -webkit-sticky;
          position: sticky;
          top: 0;
          background-color: #ffffff;
          z-index: 850; }
          #filter-nav-container .overlay #filter-menu .filter-title-mobile .filter-clear {
            color: #515151;
            text-transform: uppercase;
            font-weight: 300;
            line-height: normal;
            font-size: 10px;
            vertical-align: top; }
        #filter-nav-container .overlay #filter-menu .menu.expanded {
          padding: 0px 20px 20px 20px; }
        #filter-nav-container .overlay #filter-menu .show-results {
          position: -webkit-sticky;
          position: sticky;
          bottom: 0; }
          #filter-nav-container .overlay #filter-menu .show-results .box, #filter-nav-container .overlay #filter-menu .show-results .tabs.free .tabs-title a, .tabs.free .tabs-title #filter-nav-container .overlay #filter-menu .show-results a {
            border: none; }
          #filter-nav-container .overlay #filter-menu .show-results .button.success {
            margin: 0 0 0 0; } }
  #filter-nav-container .menu.expanded li {
    -webkit-flex: 1 1 auto;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    border-bottom: 1px solid #EAEAEA; }
    #filter-nav-container .menu.expanded li .option-name {
      font-size: 14px; }
      #filter-nav-container .menu.expanded li .option-name:after {
        font-family: icomoon;
        content: '\f107';
        position: absolute;
        display: inline-block;
        border: none;
        margin: initial;
        width: 10px;
        height: 10px; }
        @media screen and (min-width: 40em) and (max-width: 63.99875em) {
          #filter-nav-container .menu.expanded li .option-name:after {
            top: 30%; } }
      #filter-nav-container .menu.expanded li .option-name:hover {
        font-weight: 400; }
    #filter-nav-container .menu.expanded li .is-dropdown-submenu.js-dropdown-active {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    #filter-nav-container .menu.expanded li .option-list {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      border: none;
      margin-top: none;
      margin-top: initial;
      padding: 10px 20px 16px; }
      #filter-nav-container .menu.expanded li .option-list .option {
        width: 50%;
        border-bottom: none;
        margin: auto; }
        #filter-nav-container .menu.expanded li .option-list .option a:not(.button-line) {
          color: #515151;
          font-weight: 300;
          line-height: normal;
          padding: 0px;
          margin: 0px; }
        #filter-nav-container .menu.expanded li .option-list .option .check:before {
          font-family: icomoon;
          content: "\f096";
          margin-right: 8px; }
        #filter-nav-container .menu.expanded li .option-list .option.selected .check:before {
          content: "\f046";
          color: #019BAE; }
      #filter-nav-container .menu.expanded li .option-list .prescription {
        display: none;
        margin-top: 20px;
        margin-bottom: 6px;
        margin-left: 0px;
        margin-right: 0px;
        width: 100%;
        padding-top: 18px;
        border-top: 1px solid #EAEAEA; }
      #filter-nav-container .menu.expanded li .option-list.size {
        width: initial; }
      #filter-nav-container .menu.expanded li .option-list .dimension {
        margin-top: 20px;
        padding-top: 18px;
        border-bottom: none; }
        #filter-nav-container .menu.expanded li .option-list .dimension .slider-container {
          color: #676767;
          font-weight: 300;
          line-height: normal;
          margin-bottom: 6px;
          margin-left: 10px;
          margin-right: 10px; }
          #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .icon-size-width:before {
            font-family: icomoon;
            content: '\e906';
            display: block;
            text-align: center; }
          #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .slider {
            height: 0.15rem;
            margin-top: 0.7rem;
            margin-bottom: 2.7rem;
            background-color: #C8C8C8; }
            #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .slider .slider-handle {
              width: 0.8rem;
              height: 0.8rem;
              border-radius: 50%;
              background-color: #019BAE;
              z-index: 1;
              cursor: pointer; }
            #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .slider .slider-fill {
              height: 0.15rem;
              background-color: #5A6872; }
            #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .slider .value-bar {
              padding-top: 16px;
              text-align: center; }
              #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .slider .value-bar input {
                font-size: 13px;
                width: initial;
                height: initial;
                border: none;
                box-shadow: none;
                text-align: center;
                padding: 0;
                color: #676767;
                font-weight: 300;
                line-height: normal;
                width: 25%; }
      @media screen and (max-width: 39.99875em) {
        #filter-nav-container .menu.expanded li .option-list.color {
          padding: 0; } }
      #filter-nav-container .menu.expanded li .option-list.color .option {
        width: initial;
        margin-bottom: 6px;
        margin-left: 10px;
        margin-right: 10px; }
        #filter-nav-container .menu.expanded li .option-list.color .option .color-circle {
          display: inline-block;
          margin-right: 5px;
          padding: 2px;
          border-radius: 50%;
          border: 1px solid #fff;
          vertical-align: bottom;
          width: 39px;
          height: 39px; }
          #filter-nav-container .menu.expanded li .option-list.color .option .color-circle span {
            display: inline-block;
            border-radius: 50%;
            width: 33px;
            height: 33px; }
            #filter-nav-container .menu.expanded li .option-list.color .option .color-circle span.white {
              background-color: #e6e6fa !important; }
        #filter-nav-container .menu.expanded li .option-list.color .option.selected .color-circle {
          border-color: #019BAE; }
        #filter-nav-container .menu.expanded li .option-list.color .option.selected .color-name {
          color: #019BAE; }

.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
  top: 30%;
  right: 5%; }

@media screen and (min-width: 40em) {
  #filter-nav-container {
    padding: 0.4rem 0; }
    #filter-nav-container .menu.expanded li {
      border-bottom: none;
      margin: 0; }
      #filter-nav-container .menu.expanded li .option-name {
        padding-right: 1rem; }
      #filter-nav-container .menu.expanded li .option-list {
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        border: 1px solid #C8C8C8;
        border-top: none;
        margin-top: 0.4rem;
        padding: 15px;
        min-width: 180px; }
        #filter-nav-container .menu.expanded li .option-list .option {
          width: 100%; }
        #filter-nav-container .menu.expanded li .option-list .dimension {
          border-top: 1px solid #EAEAEA; }
          #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .slider .value-bar input {
            font-size: 12px; }
          #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .slider .value-bar span {
            font-size: 10px; }
        #filter-nav-container .menu.expanded li .option-list.color .option {
          position: relative; }
          #filter-nav-container .menu.expanded li .option-list.color .option .color-circle {
            position: absolute;
            width: 23px;
            height: 23px;
            display: block;
            background: white;
            padding: 0; }
            #filter-nav-container .menu.expanded li .option-list.color .option .color-circle span {
              position: absolute;
              width: 17px;
              height: 17px;
              top: 2px;
              left: 2px;
              padding: 0;
              display: block;
              border: 1px solid transparent; }
          #filter-nav-container .menu.expanded li .option-list.color .option .color-name {
            margin-left: 30px; } }

@media screen and (min-width: 64em) {
  #filter-nav-container {
    top: 0; }
    #filter-nav-container .menu.expanded li {
      border: none; }
      #filter-nav-container .menu.expanded li .option-name {
        font-size: 16px;
        padding-right: 1.5rem; }
        #filter-nav-container .menu.expanded li .option-name:after {
          position: initial;
          margin-left: 10px; }
      #filter-nav-container .menu.expanded li .option-list {
        padding: 20px 20px 16px;
        min-width: 200px; }
        #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .slider .value-bar input {
          font-size: 15px; }
        #filter-nav-container .menu.expanded li .option-list .dimension .slider-container .slider .value-bar span {
          font-size: initial; }
        #filter-nav-container .menu.expanded li .option-list.size {
          width: 225px; } }

/* =================================================
   SORT BY
   ================================================= */
#sort-by-container {
  padding: 25px; }
  #sort-by-container .quantity {
    -webkit-align-self: center;
        -ms-flex-item-align: center;
                -ms-grid-row-align: center;
            align-self: center; }
    #sort-by-container .quantity .filter-quantity {
      font-size: 12px;
      line-height: initial; }
  #sort-by-container .sort-by label {
    font-size: 12px;
    text-align: center;
    line-height: initial; }
  #sort-by-container .sort-by select {
    margin: 0;
    font-size: 12px; }

@media screen and (min-width: 64em) {
  #sort-by-container .quantity .filter-quantity {
    font-size: 16px; }
  #sort-by-container .sort-by label {
    font-size: 16px;
    text-align: right; }
  #sort-by-container .sort-by select {
    font-size: 16px; } }

.usp-band {
  background: #019BAE;
  padding-top: 65px;
  padding-bottom: 65px; }
  .usp-band [class^="icon-"] {
    color: #019BAE;
    font-family: icomoon;
    display: block;
    background: #fff;
    width: 90px;
    height: 90px;
    border-radius: 100px;
    line-height: 90px;
    font-size: 45px;
    margin: auto;
    margin-bottom: 15px; }
  .usp-band h3 {
    text-align: center;
    color: #fff; }
  .usp-band p {
    color: #fff; }

.jse-wishListActionButton {
  margin-left: 3px;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: #DC5E5E; }
  .jse-wishListActionButton:hover, .jse-wishListActionButton:focus {
    color: #DC5E5E; }
  .jse-wishListActionButton:before {
    font-size: 0.75rem; }
  .jse-wishListActionButton.jss-add-to-wishlist:before {
    content: "\f08a"; }
  .jse-wishListActionButton.jss-remove-from-wishlist:before {
    content: "\f004"; }
  .jse-wishListActionButton:before {
    font-family: icomoon;
    color: #DC5E5E;
    padding: 3px;
    border: 0; }

.accordion-item .product-remove.product-title-accordion {
  color: #152935; }
  .accordion-item .product-remove.product-title-accordion:before {
    font-family: 'icomoon';
    content: "\f014";
    margin-right: 10px; }

.wishlist-item-container {
  clear: both;
  padding: 0rem; }
  .wishlist-item-container .product-name a {
    color: #152935; }
    @media screen and (min-width: 40em) {
      .wishlist-item-container .product-name a {
        font-size: 22px;
        line-height: 24px; } }
  .wishlist-item-container .product-remove a {
    color: #152935; }
    .wishlist-item-container .product-remove a:before {
      font-family: 'icomoon';
      content: "\f014";
      margin-right: 10px; }
  .wishlist-item-container .product-name, .wishlist-item-container .product-remove {
    margin-bottom: 10px;
    display: inline-block; }
  .wishlist-item-container .wishlist-item {
    clear: both; }
    .wishlist-item-container .wishlist-item .line-1 {
      border-bottom: 1px solid #C8C8C8; }
      .wishlist-item-container .wishlist-item .line-1 .thumbnail {
        width: initial;
        box-shadow: none;
        margin: 0; }
        @media screen and (min-width: 64em) {
          .wishlist-item-container .wishlist-item .line-1 .thumbnail {
            width: 150px; } }
        @media screen and (max-width: 39.99875em) {
          .wishlist-item-container .wishlist-item .line-1 .thumbnail img {
            max-width: 80%; } }
      .wishlist-item-container .wishlist-item .line-1 .properties-container {
        padding: 0; }
        @media screen and (max-width: 63.99875em) {
          .wishlist-item-container .wishlist-item .line-1 .properties-container {
            border-top: 1px solid black; } }
        @media screen and (min-width: 64em) {
          .wishlist-item-container .wishlist-item .line-1 .properties-container {
            border-left: 1px solid #C8C8C8; } }
        .wishlist-item-container .wishlist-item .line-1 .properties-container div {
          padding: 0;
          margin: 0; }
          .wishlist-item-container .wishlist-item .line-1 .properties-container div .properties-title, .wishlist-item-container .wishlist-item .line-1 .properties-container div .properties-value {
            font-size: 14px;
            line-height: 24px;
            white-space: nowrap;
            font-weight: normal;
            min-height: 40px;
            padding: 10px;
            margin: 0; }
            @media screen and (min-width: 64em) {
              .wishlist-item-container .wishlist-item .line-1 .properties-container div .properties-title, .wishlist-item-container .wishlist-item .line-1 .properties-container div .properties-value {
                line-height: 40px; } }
          .wishlist-item-container .wishlist-item .line-1 .properties-container div .properties-title {
            background-color: #152935;
            color: #ffffff; }
            @media screen and (max-width: 63.99875em) {
              .wishlist-item-container .wishlist-item .line-1 .properties-container div .properties-title {
                width: 50%;
                float: left;
                text-align: center; } }
          .wishlist-item-container .wishlist-item .line-1 .properties-container div .properties-value {
            background-color: transparent;
            color: #152935; }
            @media screen and (max-width: 63.99875em) {
              .wishlist-item-container .wishlist-item .line-1 .properties-container div .properties-value {
                width: 50%;
                float: right;
                text-align: center; } }
    .wishlist-item-container .wishlist-item .line-2 {
      /*border-left: 1px solid $black;
            border-right: 1px solid $black;
            border-bottom: 1px solid $black;*/
      padding-top: 1.5rem; }
      .wishlist-item-container .wishlist-item .line-2 .product-description {
        font-size: 14px;
        line-height: 24px;
        text-align: center; }
        @media screen and (min-width: 64em) {
          .wishlist-item-container .wishlist-item .line-2 .product-description {
            text-align: left; } }
        .wishlist-item-container .wishlist-item .line-2 .product-description ul {
          list-style-type: none; }
  .wishlist-item-container .product-price {
    margin-top: 10px;
    margin-right: 10px;
    text-align: right; }
    .wishlist-item-container .product-price .price {
      font-size: 24px;
      line-height: 36px;
      font-weight: 700;
      display: inline-block;
      margin-right: 10px; }

.wishlist-accordion-item {
  position: relative;
  font-size: 1.1rem;
  padding-right: 0.2rem; }
  .wishlist-accordion-item.is-active > a {
    background: #EAEAEA; }
  .wishlist-accordion-item > a {
    font-size: 0.7rem;
    background: #FFFFFF; }
    @media print, screen and (min-width: 40em) {
      .wishlist-accordion-item > a {
        font-size: 0.9rem; } }
    @media print, screen and (min-width: 64em) {
      .wishlist-accordion-item > a {
        font-size: 1rem; } }
    .wishlist-accordion-item > a:hover, .wishlist-accordion-item > a:active, .wishlist-accordion-item > a:focus {
      background: #EAEAEA; }
  .wishlist-accordion-item > .accordion-title::before, .wishlist-accordion-item > .accordion-title::after {
    display: none; }
  .wishlist-accordion-item a > span {
    text-transform: uppercase; }
  .wishlist-accordion-item .menu-right-wishlist {
    position: absolute;
    top: 1rem;
    right: 1rem; }
    .wishlist-accordion-item .menu-right-wishlist a {
      margin-right: 0.5rem; }

@media screen and (min-width: 40em) {
  .product-configuration ul {
    margin: 0; } }

.product-configuration ul li {
  position: relative; }

.product-configuration .prescription-file {
  max-width: 100%; }

#RightColumn #magellanMenu {
  margin-top: 10px; }
  @media print, screen and (min-width: 40em) {
    #RightColumn #magellanMenu {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  #RightColumn #magellanMenu li.docs-nav-title {
    color: #5A6872; }
    @media screen and (max-width: 39.99875em) {
      #RightColumn #magellanMenu li.docs-nav-title {
        display: none; } }
  #RightColumn #magellanMenu li.link-level2 {
    padding-left: 1rem; }
  #RightColumn #magellanMenu li a:hover {
    background: #EAEAEA; }
  #RightColumn #magellanMenu li a.is-active {
    color: #ffffff;
    background: #3D70B2; }

/* =================================================
   9. Naked accordion (extends original Foundation accordion)
   ================================================= */
.accordion.naked {
  background: transparent; }
  .accordion.naked .accordion-item a.accordion-title {
    border: none;
    line-height: 1.6;
    padding: 0;
    color: #152935;
    position: relative; }
    .accordion.naked .accordion-item a.accordion-title:before {
      content: ""; }
    .accordion.naked .accordion-item a.accordion-title:after {
      margin-left: 10px;
      font-family: icomoon;
      content: '\f107';
      display: inline-block;
      width: 10px;
      height: 10px;
      line-height: 10px;
      transition: all linear .2s; }
    .accordion.naked .accordion-item a.accordion-title:focus {
      background-color: #ffffff; }
    .accordion.naked .accordion-item a.accordion-title .accordion-title-right {
      position: absolute;
      right: 0; }
    .accordion.naked .accordion-item a.accordion-title h2, .accordion.naked .accordion-item a.accordion-title #cart-container h2, #cart-container .accordion.naked .accordion-item a.accordion-title h2, .accordion.naked .accordion-item a.accordion-title h3, .accordion.naked .accordion-item a.accordion-title h4, .accordion.naked .accordion-item a.accordion-title .cards_block .grid-x .cell .card .card-section .title, .cards_block .grid-x .cell .card .card-section .accordion.naked .accordion-item a.accordion-title .title, .accordion.naked .accordion-item a.accordion-title .checkout_summary .accordion > .accordion-title, .checkout_summary .accordion.naked .accordion-item a.accordion-title .accordion > .accordion-title, .accordion.naked .accordion-item a.accordion-title h5 {
      display: inline; }
  .accordion.naked .accordion-item .accordion-content {
    border: none; }
  .accordion.naked .accordion-item.is-active > a.accordion-title:after {
    top: 30%;
    right: 5%;
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .accordion.naked.no-padding > .accordion-item > .accordion-content {
    padding: 0; }
  .accordion.naked.no-bottom-margin {
    margin: 0; }

.schema-glasses {
  background-color: #F4F4F4;
  text-align: center;
  margin-right: -1rem;
  margin-left: -1rem;
  margin-bottom: -1rem;
  margin-top: -1rem;
  padding: 10px;
  padding-top: 2rem; }
  .schema-glasses img {
    height: 111px;
    width: auto;
    margin-bottom: -20px; }
  .schema-glasses p {
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    padding-bottom: 8px; }
  .schema-glasses .schema-total, .schema-glasses .schema-temple, .schema-glasses .schema-bridge {
    display: -ms-inline-grid;
    display: inline-grid; }
  .schema-glasses .schema-total span {
    background-image: url(/bundles/app/glasses24/assets/img/schema-glasses/schema-arrow.svg);
    background-repeat: no-repeat;
    background-position: center; }
  .schema-glasses .schema-temple span {
    background-image: url(/bundles/app/glasses24/assets/img/schema-glasses/schema-arrow.svg);
    background-repeat: no-repeat;
    background-position: center; }
  .schema-glasses .schema-lenses {
    margin: auto; }
    .schema-glasses .schema-lenses .schema-lenses-value {
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex; }
      .schema-glasses .schema-lenses .schema-lenses-value .lens-depth {
        padding-right: 8px; }
        @media screen and (min-width: 40em) and (max-width: 63.99875em) {
          .schema-glasses .schema-lenses .schema-lenses-value .lens-depth {
            padding-right: 4px; } }
        @media screen and (max-width: 39.99875em) {
          .schema-glasses .schema-lenses .schema-lenses-value .lens-depth {
            padding-right: 4px; } }
      .schema-glasses .schema-lenses .schema-lenses-value .lens-width {
        padding-left: 8px; }
        @media screen and (min-width: 40em) and (max-width: 63.99875em) {
          .schema-glasses .schema-lenses .schema-lenses-value .lens-width {
            padding-left: 4px; } }
        @media screen and (max-width: 39.99875em) {
          .schema-glasses .schema-lenses .schema-lenses-value .lens-width {
            padding-left: 4px; } }

.reveal {
  font-size: 1.25rem;
  font-weight: 300; }
  .reveal.full .close-button {
    padding: 24px 36px;
    position: fixed;
    right: 0;
    top: 0;
    color: #019BAE; }
    .reveal.full .close-button:hover, .reveal.full .close-button:focus {
      color: #019BAE; }

#viewSizeChartModal {
  width: 968px;
  margin: auto;
  padding-left: 93px;
  padding-right: 93px;
  margin-bottom: 93px;
  padding-bottom: 93px; }
  @media screen and (min-width: 40em) and (max-width: 63.99875em) {
    #viewSizeChartModal {
      width: 90%;
      padding-left: 6%;
      padding-right: 6%; } }
  @media screen and (max-width: 39.99875em) {
    #viewSizeChartModal {
      width: 95%;
      padding-left: 6%;
      padding-right: 6%;
      margin-bottom: 0px; } }
  #viewSizeChartModal .headline {
    color: #C8C8C8;
    text-align: center;
    padding-bottom: 40px; }
  #viewSizeChartModal .text-our-frame-size {
    padding-bottom: 20px; }
  #viewSizeChartModal .img-our-size-chart {
    text-align: center; }
    #viewSizeChartModal .img-our-size-chart img {
      height: auto; }
  #viewSizeChartModal .text-my-frame-size {
    padding-bottom: 22px;
    padding-top: 65px; }
  #viewSizeChartModal .img-my-size-chart {
    text-align: center; }
    #viewSizeChartModal .img-my-size-chart img {
      height: auto;
      max-width: 400px; }
  #viewSizeChartModal .text-size-chart-width {
    text-align: center;
    margin: auto; }
  #viewSizeChartModal .text-size-chart-height {
    float: right;
    text-align: center;
    margin: auto;
    width: 50%;
    padding-left: 25px;
    padding-bottom: 20px; }
  #viewSizeChartModal .input-my-frame-width {
    width: 45%;
    float: left; }
    #viewSizeChartModal .input-my-frame-width label {
      font-size: 0.8rem; }
    #viewSizeChartModal .input-my-frame-width input {
      background-color: #ffffff;
      border: none;
      border-bottom: 1px solid #152935 !important;
      box-shadow: none; }
  #viewSizeChartModal .input-my-lens-height {
    width: 45%;
    float: left; }
    #viewSizeChartModal .input-my-lens-height label {
      font-size: 0.8rem; }
    #viewSizeChartModal .input-my-lens-height input {
      background-color: #ffffff;
      border: none;
      border-bottom: 1px solid #152935 !important;
      box-shadow: none; }
  #viewSizeChartModal .result-my-size-chart {
    width: 45%;
    float: left;
    text-align: center;
    font-weight: bold;
    margin-top: 25px; }

.default-address {
  margin-right: 10px;
  border: 1px solid #152935;
  padding-bottom: 15px;
  margin-bottom: 20px; }
  .default-address h4, .default-address .cards_block .grid-x .cell .card .card-section .title, .cards_block .grid-x .cell .card .card-section .default-address .title, .default-address .checkout_summary .accordion > .accordion-title, .checkout_summary .default-address .accordion > .accordion-title {
    background-color: #152935;
    color: #ffffff;
    padding: 10px 0px 10px 0px;
    text-align: center; }
  .default-address .address {
    padding: 15px; }
  .default-address .address-edit {
    font-weight: 700;
    text-decoration: underline;
    margin: 15px; }

.addresses .other-address {
  margin-right: 10px;
  margin-bottom: 10px;
  border: 1px solid #9aacb7; }
  .addresses .other-address h4, .addresses .other-address .cards_block .grid-x .cell .card .card-section .title, .cards_block .grid-x .cell .card .card-section .addresses .other-address .title, .addresses .other-address .checkout_summary .accordion > .accordion-title, .checkout_summary .addresses .other-address .accordion > .accordion-title {
    background-color: #9aacb7;
    color: #ffffff;
    padding: 10px 0px 10px 0px;
    text-align: center; }
  .addresses .other-address .address {
    padding: 15px; }
  .addresses .other-address .other-address-button {
    margin: 0px 15px 15px 15px; }
    .addresses .other-address .other-address-button .address-remove {
      color: #152935;
      float: right; }
      .addresses .other-address .other-address-button .address-remove:before {
        font-family: 'icomoon';
        content: "\f014";
        margin-right: 5px; }
    .addresses .other-address .other-address-button .address-default {
      font-weight: 700;
      text-decoration: underline; }

.button-add-address {
  margin-top: 20px; }

.lens-value-profiles .active-lens-value-profile {
  margin-right: 10px;
  border: 1px solid #152935;
  padding-bottom: 15px;
  margin-bottom: 20px; }
  .lens-value-profiles .active-lens-value-profile h4, .lens-value-profiles .active-lens-value-profile .cards_block .grid-x .cell .card .card-section .title, .cards_block .grid-x .cell .card .card-section .lens-value-profiles .active-lens-value-profile .title, .lens-value-profiles .active-lens-value-profile .checkout_summary .accordion > .accordion-title, .checkout_summary .lens-value-profiles .active-lens-value-profile .accordion > .accordion-title {
    background-color: #152935;
    color: #ffffff;
    padding: 10px 0px 10px 0px;
    text-align: center; }
  .lens-value-profiles .active-lens-value-profile .lens-value-profile {
    padding: 15px; }
  .lens-value-profiles .active-lens-value-profile .lens-value-profile-edit {
    font-weight: 700;
    text-decoration: underline;
    margin: 15px; }

.lens-value-profiles .other-lens-value-profile {
  margin-right: 10px;
  margin-bottom: 10px;
  border: 1px solid #9aacb7; }
  .lens-value-profiles .other-lens-value-profile h4, .lens-value-profiles .other-lens-value-profile .cards_block .grid-x .cell .card .card-section .title, .cards_block .grid-x .cell .card .card-section .lens-value-profiles .other-lens-value-profile .title, .lens-value-profiles .other-lens-value-profile .checkout_summary .accordion > .accordion-title, .checkout_summary .lens-value-profiles .other-lens-value-profile .accordion > .accordion-title {
    background-color: #9aacb7;
    color: #ffffff;
    padding: 10px 0px 10px 0px;
    text-align: center; }
  .lens-value-profiles .other-lens-value-profile .lens-value-profile {
    padding: 15px; }
  .lens-value-profiles .other-lens-value-profile .other-lens-value-profile-buttons {
    margin: 0px 15px 15px 15px; }
    .lens-value-profiles .other-lens-value-profile .other-lens-value-profile-buttons .lens-value-profile-remove {
      color: #152935;
      float: right; }
      .lens-value-profiles .other-lens-value-profile .other-lens-value-profile-buttons .lens-value-profile-remove:before {
        font-family: 'icomoon';
        content: "\f014";
        margin-right: 5px; }
    .lens-value-profiles .other-lens-value-profile .other-lens-value-profile-buttons .lens-value-profile-use {
      font-weight: 700;
      text-decoration: underline; }
    .lens-value-profiles .other-lens-value-profile .other-lens-value-profile-buttons .lens-value-profile-edit {
      font-weight: 700;
      text-decoration: underline;
      margin: 15px; }

.button-add-lens-value-profile {
  margin-top: 20px; }

.lens-value-profile-form {
  border: 1px solid #9aacb7; }
  .lens-value-profile-form input[type="number"],
  .lens-value-profile-form input[type="text"] {
    background-color: #ffffff;
    border-top: none;
    border-right: none;
    border-left: none;
    box-shadow: none;
    border-bottom-color: #5A6872;
    border-radius: 0; }
  .lens-value-profile-form .lens-value-profile-name {
    background-color: #9aacb7;
    color: #ffffff;
    padding: 10px 0px 10px 0px;
    text-align: center; }
    .lens-value-profile-form .lens-value-profile-name input[type="text"] {
      color: #ffffff;
      background-color: transparent;
      width: 80%;
      margin: auto;
      text-align: center;
      font-weight: 700; }
    .lens-value-profile-form .lens-value-profile-name ::-webkit-input-placeholder {
      color: dimgrey; }
    .lens-value-profile-form .lens-value-profile-name :-ms-input-placeholder {
      color: dimgrey; }
    .lens-value-profile-form .lens-value-profile-name ::placeholder {
      color: dimgrey; }
  .lens-value-profile-form .fake-table .field {
    height: 33.33333333333333333%; }
    .lens-value-profile-form .fake-table .field span {
      line-height: 100%;
      vertical-align: middle; }

.cookie-policy__container {
  width: 100%;
  display: block;
  z-index: 999;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0; }
  .cookie-policy__container.hidden, .cookie-policy__container .hidden {
    display: none; }
  .cookie-policy__container #jss-customizeCookies {
    display: none; }
    .cookie-policy__container #jss-customizeCookies.open {
      display: block; }
  .cookie-policy__container .icon-question {
    margin: 0;
    font-size: 0.9rem; }
    .cookie-policy__container .icon-question:before {
      content: "\f29c";
      font-family: 'icomoon'; }

.cookie-policy {
  position: relative;
  margin: 1rem 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(21, 41, 53, 0.25);
  border-radius: 2px;
  margin-bottom: 0;
  margin-top: 0;
  border-top: 4px solid #019BAE; }
  .cookie-policy > :first-child {
    margin-top: 0; }
  .cookie-policy > :last-child {
    margin-bottom: 0; }

.cookie-policy__title {
  color: #019BAE;
  font-weight: 700; }

.cookie-policy__message {
  line-height: 1.4; }

.cookie-policy__link {
  color: #019BAE;
  border-bottom: 1px solid currentColor; }

.cookie-policy__button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 2px;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: inherit;
  font-size: 0.9rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  color: #ffffff;
  font-weight: 600; }
  [data-whatinput='mouse'] .cookie-policy__button {
    outline: 0; }

.cookie-policy__button--primary {
  background-color: #019BAE;
  color: #ffffff; }
  .cookie-policy__button--primary:hover, .cookie-policy__button--primary:focus {
    background-color: #0083A9;
    color: #ffffff; }

.cookie-policy__button--secondary {
  background-color: #C8C8C8;
  color: #ffffff; }
  .cookie-policy__button--secondary:hover, .cookie-policy__button--secondary:focus {
    background-color: #5A6872;
    color: #ffffff; }

@media print, screen and (min-width: 64em) {
  .cookie-policy__options-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; } }

.cookie-policy__option {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (min-width: 64em) {
    .cookie-policy__option:not(:last-child) {
      margin-right: 60px; } }

.cookie-policy__name {
  min-width: 170px; }

.cookie-policy__label {
  font-size: 0.9rem;
  display: inline-block; }

/* Component Tryon REveal Popup*/
a.jse-tryon-action-on-image:hover:before, .active-user-pic:before {
  font-family: 'icomoon';
  content: "\f05d";
  font-size: 4.125rem;
  width: 100%;
  height: 120px;
  display: block;
  position: absolute;
  text-align: center;
  color: #fff; }
  @media print, screen and (min-width: 64em) {
    a.jse-tryon-action-on-image:hover:before, .active-user-pic:before {
      font-size: 4.125rem; } }

.tryonReveal a.jse-tryon-action {
  font-size: 1.5625rem;
  padding: 0.5rem;
  margin: 0; }
  .tryonReveal a.jse-tryon-action.delete {
    color: #DC5E5E;
    background-color: #fff;
    border-radius: 5px; }

.tryonReveal a.jse-tryon-action-on-image {
  position: relative;
  height: 100%; }

.tryonReveal a.jse-tryon-action-on-image:hover:before, .tryonReveal .active-user-pic:before {
  font-family: 'icomoon';
  content: "\f05d";
  font-size: 4.125rem;
  width: 100%;
  height: 120px;
  display: block;
  position: absolute;
  text-align: center;
  color: #fff; }

.tryonReveal hr {
  margin-top: 1rem;
  margin-bottom: 1rem; }

.tryonReveal .jsd-userpicTryonFotos {
  overflow-x: auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 1.25rem;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .tryonReveal .jsd-userpicTryonFotos .personalpictures,
  .tryonReveal .jsd-userpicTryonFotos .examplepictures {
    overflow-x: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 1.25rem; }

.tryonReveal .tryon-pic-small {
  max-width: 9.375rem;
  max-height: 7.5rem;
  height: 100%;
  object-fit: cover; }

.tryonReveal .userpicTryonSelection {
  float: left;
  margin-right: 1rem; }

.tryonReveal button {
  max-width: 28.125rem;
  min-width: 21.875rem;
  display: inline-block;
  margin-bottom: 0; }

.tryonReveal .jse-set-left-eye, .tryonReveal .jse-set-right-eye {
  border: 1px solid #ffffff;
  position: absolute;
  width: 40px;
  height: 40px;
  border-radius: 40px;
  overflow: hidden;
  background-color: rgba(0, 0, 1, 0.5);
  text-align: center;
  color: #000;
  overflow: visible;
  cursor: pointer !important;
  background-image: url("../img/2dtryon/cross80x80.png");
  background-repeat: no-repeat;
  background-size: contain; }
  .tryonReveal .jse-set-left-eye .eye-description, .tryonReveal .jse-set-right-eye .eye-description {
    position: absolute;
    top: 40px;
    width: 38px;
    height: 20px;
    text-align: center;
    font-weight: bold;
    color: grey; }

.tryonReveal .jse-set-left-eye {
  left: 140px;
  top: 200px; }

.tryonReveal .jse-set-right-eye {
  left: 440px;
  top: 200px; }

.tryonReveal .ajaxLoaderCircle {
  min-height: 20rem;
  display: block; }

.tryonReveal .ajaxLoaderCircle:before {
  left: calc(50% - 120px);
  position: absolute;
  font-family: icomoon;
  content: "\e982";
  font-size: 15rem;
  -webkit-animation: spin 4s linear infinite;
  animation: spin 4s linear infinite; }

@-webkit-keyframes spin {
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.icon-tryon.userpicTryon.jse-tryon-gotostep-button {
  cursor: pointer;
  position: relative;
  font-size: 28px;
  z-index: 10;
  display: inline-block; }
  .icon-tryon.userpicTryon.jse-tryon-gotostep-button .tryon-button-label {
    display: inline;
    cursor: pointer;
    vertical-align: middle; }

.tryon-pv-arrows {
  cursor: pointer;
  position: relative;
  bottom: 75px;
  font-size: 28px;
  z-index: 10;
  display: block;
  text-align: center;
  color: #000000; }
  .tryon-pv-arrows .button {
    background-color: rgba(255, 255, 255, 0.5); }

.tryon-pv-arrows {
  cursor: pointer;
  position: relative;
  bottom: 75px;
  font-size: 28px;
  z-index: 10;
  display: block;
  text-align: center;
  color: #000000; }
  .tryon-pv-arrows .button {
    background-color: rgba(255, 255, 255, 0.5); }

.tryon-pv-view {
  position: relative;
  background: white;
  -webkit-filter: brightness(97%);
          filter: brightness(97%); }
  @media screen and (min-width: 40em) {
    .tryon-pv-view {
      top: auto !important;
      position: relative; } }
  .tryon-pv-view .js-pv-tryon-image {
    text-align: center;
    display: block;
    position: relative; }
    .tryon-pv-view .js-pv-tryon-image img {
      max-width: 100%;
      height: auto;
      margin-bottom: 25px; }
  .tryon-pv-view .preload-content {
    width: 100%;
    min-height: 450px;
    height: 100%; }

.tryon-pv-arrows {
  background: white;
  padding-top: 1rem; }
  .tryon-pv-arrows #jsd-pv-tryon-images {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0; }
    @media print, screen and (min-width: 64em) {
      .tryon-pv-arrows #jsd-pv-tryon-images {
        margin: 0 0.5rem; } }
    .tryon-pv-arrows #jsd-pv-tryon-images .userpicTryonSelection {
      padding: 0 0.5rem;
      display: initial;
      -webkit-flex: 1 0 calc(25% - 1rem);
          -ms-flex: 1 0 calc(25% - 1rem);
              flex: 1 0 calc(25% - 1rem); }
      .tryon-pv-arrows #jsd-pv-tryon-images .userpicTryonSelection .pv-tryon-images-item-delete {
        display: none; }
      .tryon-pv-arrows #jsd-pv-tryon-images .userpicTryonSelection.is-hidden {
        display: none; }
      .tryon-pv-arrows #jsd-pv-tryon-images .userpicTryonSelection img {
        max-height: 160px;
        min-height: 160px;
        height: 100%;
        width: 100%;
        object-fit: cover; }
      .tryon-pv-arrows #jsd-pv-tryon-images .userpicTryonSelection .cell.medium-auto {
        margin: 0 auto;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 100%;
        -webkit-flex: 1 1 0px;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px;
        height: auto; }
      .tryon-pv-arrows #jsd-pv-tryon-images .userpicTryonSelection a {
        position: relative;
        width: 100%;
        height: 100%;
        min-height: 160px;
        float: left; }
        .tryon-pv-arrows #jsd-pv-tryon-images .userpicTryonSelection a:hover {
          float: left; }
        .tryon-pv-arrows #jsd-pv-tryon-images .userpicTryonSelection a::before {
          height: 100%;
          width: 100%;
          min-height: 160px;
          float: left;
          background: rgba(0, 0, 0, 0.2);
          transition: background 0.3s; }
          @media print, screen and (min-width: 40em) {
            .tryon-pv-arrows #jsd-pv-tryon-images .userpicTryonSelection a::before {
              padding-top: 10%; } }
  .tryon-pv-arrows #jse-tryonPvArrowNext, .tryon-pv-arrows #jse-tryonPvArrowPrev {
    background: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 40%;
    height: 30px;
    width: 40px;
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center; }
    .tryon-pv-arrows #jse-tryonPvArrowNext:hover, .tryon-pv-arrows #jse-tryonPvArrowPrev:hover {
      background: rgba(0, 0, 0, 0.6);
      transition: background 0.5s; }
  .tryon-pv-arrows #jse-tryonPvArrowNext {
    right: 0; }
  .tryon-pv-arrows #jse-tryonPvArrowPrev {
    left: 0; }
  .tryon-pv-arrows .showLoader .is-loading {
    position: absolute;
    width: 100%;
    top: 0;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    z-index: 999; }

.content-product-pictures {
  position: relative;
  padding-top: 20px; }

.menu-gallery2tryon {
  padding: 0.5rem;
  position: absolute;
  width: 100%; }
  .menu-gallery2tryon .menu-activegallery,
  .menu-gallery2tryon .tryononline {
    cursor: pointer;
    position: relative;
    font-size: 28px;
    z-index: 10;
    display: inline-block; }
    .menu-gallery2tryon .menu-activegallery span,
    .menu-gallery2tryon .tryononline span {
      display: inline-block; }

.menu-activegallery {
  float: right; }

.tryononline > label, .userpicTryon > label {
  display: inline-block;
  cursor: pointer; }

.sharebuttonf {
  cursor: pointer; }

.PDTOOLFOLDER {
  /* Update 05/2019 */
  /*the box in pv*/ }
  .PDTOOLFOLDER.jss-pdToolImageSelected {
    display: none; }
  .PDTOOLFOLDER .pdtool--content-upload-fileholder {
    display: none;
    visibility: hidden; }
  .PDTOOLFOLDER h2.introPdtool, .PDTOOLFOLDER #cart-container h2.introPdtool, #cart-container .PDTOOLFOLDER h2.introPdtool {
    font-weight: 300;
    border-bottom: none;
    margin-top: 15px; }
  .PDTOOLFOLDER .pdtool--views {
    margin: 0; }
    .PDTOOLFOLDER .pdtool--views .pdtool--view {
      display: none; }
      .PDTOOLFOLDER .pdtool--views .pdtool--view.active {
        display: block; }
      .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--header {
        text-align: center; }
        .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--header h3 {
          margin-top: 20px !important;
          border: none; }
      .PDTOOLFOLDER .pdtool--views .pdtool--view hr {
        width: 50%; }
      .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--content {
        text-align: center; }
        .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--content h4, .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--content .cards_block .grid-x .cell .card .card-section .title, .cards_block .grid-x .cell .card .card-section .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--content .title, .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--content .checkout_summary .accordion > .accordion-title, .checkout_summary .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--content .accordion > .accordion-title {
          margin-top: 20px !important; }
        .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--content .pdtool--default-list li {
          text-align: left;
          margin: 0 0 20px 30px; }
        .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--content #pdtool--content-video-holder,
        .PDTOOLFOLDER .pdtool--views .pdtool--view .pdtool--content #pdtool--content-result-holder {
          text-align: center;
          width: 100%; }
      .PDTOOLFOLDER .pdtool--views .pdtool--view canvas {
        border: 1px solid #666666; }
      .PDTOOLFOLDER .pdtool--views .pdtool--view .btn {
        text-align: center !important; }
        .PDTOOLFOLDER .pdtool--views .pdtool--view .btn.pdtool--btn-secondary {
          background: transparent; }
  .PDTOOLFOLDER .upload-pdTool {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0px;
    width: 120px; }
    .PDTOOLFOLDER .upload-pdTool .icon-image:before {
      font-size: 2rem; }
    .PDTOOLFOLDER .upload-pdTool .icon-image {
      display: block;
      padding-bottom: 5px; }
    .PDTOOLFOLDER .upload-pdTool .icon-image {
      display: block;
      padding-bottom: 5px; }
    .PDTOOLFOLDER .upload-pdTool .icon-question-circle-o::before, .PDTOOLFOLDER .upload-pdTool .helper-icon::before {
      font-size: 2rem; }
    .PDTOOLFOLDER .upload-pdTool .icon-question-circle-o, .PDTOOLFOLDER .upload-pdTool .helper-icon {
      display: block;
      padding-bottom: 5px; }
  .PDTOOLFOLDER .pdtool--footer {
    margin-bottom: 1rem; }
  .PDTOOLFOLDER .pdtool-button {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0px;
    width: 100px;
    height: 90px;
    margin-right: 15px;
    margin-left: 15px; }
    .PDTOOLFOLDER .pdtool-button .icon-image:before {
      font-size: 2rem; }
    .PDTOOLFOLDER .pdtool-button .icon-image {
      display: block;
      padding-bottom: 5px; }
    .PDTOOLFOLDER .pdtool-button .icon-webcam:before {
      font-size: 2rem; }
    .PDTOOLFOLDER .pdtool-button .icon-webcam {
      display: block;
      padding-bottom: 5px; }
    .PDTOOLFOLDER .pdtool-button .icon-caret-right:before {
      font-size: 2rem; }
    .PDTOOLFOLDER .pdtool-button .icon-right {
      display: block;
      padding-bottom: 5px; }
  .PDTOOLFOLDER .upload-pdTool-item {
    float: left;
    position: relative;
    margin-bottom: 0px;
    display: inline-block;
    vertical-align: middle;
    width: 120px;
    text-align: center;
    display: inline-block;
    margin-right: 1rem;
    border: 1px solid #3D70B2; }
    .PDTOOLFOLDER .upload-pdTool-item #jsd-pdTool-upload-item-text {
      word-break: break-all !important;
      font-size: 12px;
      padding: 5px; }
    .PDTOOLFOLDER .upload-pdTool-item .icon-times-circle-o {
      cursor: pointer;
      position: absolute !important;
      bottom: -15px;
      right: -10px; }
      .PDTOOLFOLDER .upload-pdTool-item .icon-times-circle-o.has-tip {
        position: absolute !important;
        display: inline-block;
        border: none;
        font-weight: normal;
        cursor: pointer; }
    .PDTOOLFOLDER .upload-pdTool-item .icon-times-circle-o:before {
      font-size: 1.5625rem !important;
      background-color: #fff; }

.reSubmitPdTask .upload-pdTool-item {
  float: none !important; }

.cards_block {
  margin-top: 1rem;
  margin-bottom: 1rem; }
  .cards_block .grid-x .cell .card {
    background: #FBFBFB;
    border: 1px solid #EAEAEA;
    margin: 0 auto; }
    .cards_block .grid-x .cell .card .card-section {
      padding: 0.5rem 1rem 0.8rem; }
      .cards_block .grid-x .cell .card .card-section .title {
        display: block; }

.flex-box-container .cell > * {
  position: relative;
  display: block;
  color: #ffffff;
  background-position: center center;
  background-size: cover;
  height: 320px; }
  @media screen and (min-width: 64em) {
    .flex-box-container .cell > * {
      height: 420px; } }
  .flex-box-container .cell > * img {
    position: relative;
    z-index: 10; }
  .flex-box-container .cell > * .flex-box-content {
    display: block;
    z-index: 20;
    position: absolute;
    bottom: 15px;
    padding: 0 15px; }
    @media screen and (min-width: 40em) {
      .flex-box-container .cell > * .flex-box-content {
        bottom: 0;
        padding: 0 0px; } }
    .flex-box-container .cell > * .flex-box-content h3 {
      margin: 0 0 0;
      padding: 0;
      font-size: 22px;
      line-height: 22px;
      font-weight: 400; }
      @media print, screen and (min-width: 40em) {
        .flex-box-container .cell > * .flex-box-content h3 {
          font-size: 30px;
          line-height: 30px; } }
      @media screen and (min-width: 64em) {
        .flex-box-container .cell > * .flex-box-content h3 {
          font-size: 36px;
          line-height: 40px; } }
      .flex-box-container .cell > * .flex-box-content h3:before {
        display: none; }
    .flex-box-container .cell > * .flex-box-content p {
      margin: 0 0 0;
      font-size: 18px;
      line-height: 22px; }
      @media print, screen and (min-width: 40em) {
        .flex-box-container .cell > * .flex-box-content p {
          font-size: 20px; } }
      @media screen and (min-width: 64em) {
        .flex-box-container .cell > * .flex-box-content p {
          font-size: 24px;
          line-height: 40px; } }

@media screen and (min-width: 40em) {
  .flex-box-container .cell.caption-top .flex-box-content {
    position: absolute;
    top: 20px; }
  .flex-box-container .cell.caption-bottom .flex-box-content {
    position: absolute;
    bottom: 20px; }
  .flex-box-container .cell.caption-center .flex-box-content {
    position: absolute;
    width: 40%;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .flex-box-container .cell.caption-middle .flex-box-content {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .flex-box-container .cell.caption-center.caption-middle .flex-box-content {
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .flex-box-container .cell.caption-left .flex-box-content {
    position: absolute;
    width: 40%;
    left: 20px; }
  .flex-box-container .cell.caption-right .flex-box-content {
    right: 20px;
    width: 40%;
    left: auto; }
  .flex-box-container .cell.caption-60pc .flex-box-content {
    width: 60%; }
  .flex-box-container .cell.caption-80pc .flex-box-content {
    width: 80%; } }

/* =================================================
   DESCRIPTION HEADER
   ================================================= */
.page-header {
  position: relative;
  margin-bottom: 1rem; }
  @media screen and (min-width: 40em) {
    .page-header {
      overflow: hidden;
      margin-bottom: 2rem;
      min-height: 300px; } }
  @media screen and (min-width: 64em) {
    .page-header {
      min-height: 340px; } }
  .page-header .img-content {
    z-index: -1;
    overflow: hidden;
    position: relative;
    height: 120px; }
    @media screen and (min-width: 40em) {
      .page-header .img-content {
        position: absolute;
        min-width: 100%;
        min-height: 100%;
        height: auto; } }
    .page-header .img-content img {
      position: absolute;
      top: 50%;
      right: 0;
      max-width: none;
      min-width: 100%;
      min-height: 100%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
      @media screen and (max-width: 39.99875em) {
        .page-header .img-content img {
          -webkit-transform: none;
              -ms-transform: none;
                  transform: none;
          top: 0; } }
  .page-header .category-title-content {
    transition: all linear .3s;
    margin: 10px 0;
    border: 1px solid rgba(255, 255, 255, 0); }
    @media screen and (min-width: 40em) {
      .page-header .category-title-content {
        margin: 20px 0; } }
    .page-header .category-title-content h1 {
      font-weight: 400; }
      @media screen and (min-width: 40em) {
        .page-header .category-title-content h1 {
          position: relative; } }
    @media screen and (min-width: 40em) {
      .page-header .category-title-content .category-description-content {
        position: relative; } }
    .page-header .category-title-content .category-description-content .category-description p {
      display: block;
      /* Fallback for non-webkit */
      display: -webkit-box;
      height: 32.16px;
      /* Fallback for non-webkit */
      margin: 0 auto;
      font-size: 12px;
      line-height: 1.34;
      -webkit-line-clamp: 2;
      overflow: hidden;
      text-overflow: ellipsis; }
      @media screen and (min-width: 40em) {
        .page-header .category-title-content .category-description-content .category-description p {
          height: 90px;
          /* Fallback for non-webkit */
          font-size: 15px;
          line-height: 2;
          -webkit-line-clamp: 3; } }
    .page-header .category-title-content .category-description-content .btn-info {
      margin: 10px 0 0; }
      @media screen and (max-width: 39.99875em) {
        .page-header .category-title-content .category-description-content .btn-info {
          color: #3D70B2;
          background: none;
          border: none;
          vertical-align: initial;
          padding: 0;
          font-size: 12px;
          text-decoration: underline; } }
      .page-header .category-title-content .category-description-content .btn-info span.more-info {
        display: block; }
      .page-header .category-title-content .category-description-content .btn-info span.less-info {
        display: none; }
  .page-header .category-title-content.description-toggler .category-description-content .category-description p {
    display: block;
    height: 100%;
    overflow: visible; }
  .page-header .category-title-content.description-toggler .category-description-content .btn-info span.more-info {
    display: none; }
  .page-header .category-title-content.description-toggler .category-description-content .btn-info span.less-info {
    display: block; }
  @media screen and (min-width: 40em) {
    .page-header .category-title-content.description-toggler {
      background: rgba(255, 255, 255, 0.6);
      border: 1px solid rgba(255, 255, 255, 0.7);
      width: 100%;
      padding: 15px; } }

.images_with_links a {
  position: relative;
  display: inline-block;
  overflow: hidden; }
  .images_with_links a img {
    transition: -webkit-transform .5s ease-in-out;
    transition: transform .5s ease-in-out;
    transition: transform .5s ease-in-out, -webkit-transform .5s ease-in-out; }
  .images_with_links a:hover img, .images_with_links a:focus img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1); }
  .images_with_links a:hover .label, .images_with_links a:focus .label {
    color: #ffffff;
    background: #152935; }

.images_with_links .label {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #ffffff;
  background: rgba(21, 43, 55, 0.75);
  border-radius: 0;
  white-space: initial;
  text-align: right;
  font-weight: 600;
  max-width: 100%;
  transition: background-color .15s ease-in-out; }

.image_block {
  margin-bottom: 1rem; }
  .image_block .image-container span {
    text-align: center;
    display: block;
    text-transform: uppercase;
    padding: 1rem;
    letter-spacing: 1px;
    font-size: 14px; }

.buttons-line ul {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .buttons-line ul li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    width: auto;
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media screen and (max-width: 39.99875em) {
      .buttons-line ul li {
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        min-height: 0px;
        min-width: 0px;
        width: calc(100% - 1.25rem);
        margin-right: 0.625rem;
        margin-left: 0.625rem; } }
    .buttons-line ul li a {
      display: inline-block;
      vertical-align: middle;
      margin: 0 0 1rem 0;
      padding: 0.85em 1em;
      border: 1px solid transparent;
      border-radius: 2px;
      transition: background-color 0.25s ease-out, color 0.25s ease-out;
      font-family: inherit;
      font-size: 0.9rem;
      -webkit-appearance: none;
      line-height: 1;
      text-align: center;
      cursor: pointer;
      border: 1px solid #152935;
      color: #152935;
      display: block;
      width: 100%;
      margin-right: 0;
      margin-left: 0; }
      [data-whatinput='mouse'] .buttons-line ul li a {
        outline: 0; }
      .buttons-line ul li a, .buttons-line ul li a:hover, .buttons-line ul li a:focus {
        background-color: transparent; }
      .buttons-line ul li a.disabled, .buttons-line ul li a.disabled:hover, .buttons-line ul li a.disabled:focus, .buttons-line ul li a[disabled], .buttons-line ul li a[disabled]:hover, .buttons-line ul li a[disabled]:focus {
        background-color: transparent; }
      .buttons-line ul li a:hover, .buttons-line ul li a:focus {
        border-color: #0b151b;
        color: #0b151b; }
        .buttons-line ul li a:hover.disabled, .buttons-line ul li a:hover[disabled], .buttons-line ul li a:focus.disabled, .buttons-line ul li a:focus[disabled] {
          border: 1px solid #152935;
          color: #152935; }

.newsletter-box-container .cell > * .flex-box-content {
  position: relative;
  margin: auto;
  top: 30%; }
  .newsletter-box-container .cell > * .flex-box-content form {
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    padding-top: 20px; }
    .newsletter-box-container .cell > * .flex-box-content form .input-box {
      width: 35%; }
      @media screen and (min-width: 40em) and (max-width: 63.99875em) {
        .newsletter-box-container .cell > * .flex-box-content form .input-box {
          width: 48%; } }
      @media screen and (max-width: 39.99875em) {
        .newsletter-box-container .cell > * .flex-box-content form .input-box {
          width: 100%; } }

.slider-container {
  margin-bottom: 30px; }
  @media screen and (max-width: 63.99875em) {
    .slider-container .grid-container {
      padding-right: 0;
      padding-left: 0; } }
  .slider-container .orbit-caption {
    background-color: transparent;
    display: block;
    position: absolute;
    height: 100%;
    width: 100%; }
    @media screen and (min-width: 40em) {
      .slider-container .orbit-caption {
        top: 0px;
        left: 0px; } }
    .slider-container .orbit-caption .orbit-caption-content {
      height: auto;
      padding: 10px; }
      .slider-container .orbit-caption .orbit-caption-content .surtitle,
      .slider-container .orbit-caption .orbit-caption-content .title,
      .slider-container .orbit-caption .orbit-caption-content .subtitle {
        display: block; }
      .slider-container .orbit-caption .orbit-caption-content .button {
        margin: 20px 0 0; }
  .slider-container .orbit-slide .surtitle {
    font-size: 2.5rem;
    line-height: 3rem; }
    @media screen and (min-width: 40em) and (max-width: 63.99875em) {
      .slider-container .orbit-slide .surtitle {
        font-size: 2rem;
        line-height: 2.2rem; } }
    @media screen and (max-width: 39.99875em) {
      .slider-container .orbit-slide .surtitle {
        font-size: 2rem;
        line-height: 2.2rem; } }
  .slider-container .orbit-slide .title {
    font-size: 4.2rem;
    line-height: 4.2rem;
    font-weight: bold; }
    @media screen and (min-width: 40em) and (max-width: 63.99875em) {
      .slider-container .orbit-slide .title {
        font-size: 3.2rem;
        line-height: 3.2rem; } }
    @media screen and (max-width: 39.99875em) {
      .slider-container .orbit-slide .title {
        font-size: 3.2rem;
        line-height: 3.2rem; } }
  .slider-container .orbit-slide .subtitle {
    font-size: 2.5rem;
    line-height: 3rem; }
    @media screen and (min-width: 40em) and (max-width: 63.99875em) {
      .slider-container .orbit-slide .subtitle {
        font-size: 2rem;
        line-height: 2.2rem; } }
    @media screen and (max-width: 39.99875em) {
      .slider-container .orbit-slide .subtitle {
        font-size: 2rem;
        line-height: 2.2rem; } }
  .slider-container .orbit-slide.surtitle-dark .surtitle {
    color: #152935; }
  .slider-container .orbit-slide.title-dark .title {
    color: #152935; }
  .slider-container .orbit-slide.subtitle-dark .subtitle {
    color: #152935; }
  .slider-container .orbit-slide.surtitle-light .surtitle {
    color: #ffffff; }
  .slider-container .orbit-slide.title-light .title {
    color: #ffffff; }
  .slider-container .orbit-slide.subtitle-light .subtitle {
    color: #ffffff; }
  @media screen and (min-width: 40em) {
    .slider-container .orbit-slide.caption-top .orbit-caption .orbit-caption-content {
      top: 50px; }
    .slider-container .orbit-slide.caption-bottom .orbit-caption .orbit-caption-content {
      bottom: 50px; }
    .slider-container .orbit-slide.caption-center .orbit-caption .orbit-caption-content {
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
    .slider-container .orbit-slide.caption-middle .orbit-caption .orbit-caption-content {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
    .slider-container .orbit-slide.caption-center.caption-middle .orbit-caption .orbit-caption-content {
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%); }
    .slider-container .orbit-slide.caption-left .orbit-caption .orbit-caption-content {
      left: 100px; }
    .slider-container .orbit-slide.caption-right .orbit-caption .orbit-caption-content {
      right: 100px; }
    .slider-container .orbit-slide.caption-30pc .orbit-caption .orbit-caption-content {
      width: 30%; } }

/* =================================================
   Title Block
   ================================================= */
.title_block .cell {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column wrap;
      -ms-flex-flow: column wrap;
          flex-flow: column wrap; }
  @media screen and (min-width: 40em) {
    .title_block .cell {
      -webkit-flex-flow: row wrap;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap; } }

@media screen and (max-width: 39.99875em) {
  .title_block h2, .title_block #cart-container h2, #cart-container .title_block h2 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; } }

@media screen and (min-width: 40em) {
  .title_block h2, .title_block #cart-container h2, #cart-container .title_block h2 {
    width: 50%; } }

.title_block a {
  text-align: center;
  width: 100%;
  text-transform: uppercase; }
  @media screen and (max-width: 39.99875em) {
    .title_block a {
      border: 1px solid;
      padding: 10px;
      -webkit-order: 3;
          -ms-flex-order: 3;
              order: 3;
      width: -webkit-fit-content;
      width: fit-content;
      -webkit-align-self: center;
          -ms-flex-item-align: center;
                  -ms-grid-row-align: center;
              align-self: center; } }
  @media screen and (min-width: 40em) {
    .title_block a {
      top: 30px;
      right: 0;
      text-transform: initial;
      text-align: right;
      border: none;
      color: #152935;
      width: 50%;
      -webkit-align-self: center;
          -ms-flex-item-align: center;
                  -ms-grid-row-align: center;
              align-self: center; }
      .title_block a:after {
        font-family: icomoon;
        content: "\f061";
        margin-left: 5px; }
      .title_block a:hover {
        color: #019BAE; } }

@media screen and (max-width: 39.99875em) {
  .title_block .text-intro {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; } }

/*Animation of the customer-button-submenu*/
body.toolbar-hidden {
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    body.toolbar-hidden {
      overflow: auto; } }

.title-bar-left {
  position: relative; }

.button-submenu-customer {
  cursor: pointer;
  position: absolute;
  width: 20px;
  height: 16px;
  top: 0.4rem;
  margin-left: 0.5rem; }
  @media print, screen and (min-width: 40em) {
    .button-submenu-customer {
      display: none; } }

.customer-content-menu {
  position: absolute;
  left: 0;
  width: 100%;
  -ms-transform: translateX(-100%);
      transform: translateX(-100%);
  -webkit-transform: translateX(-100%); }
  @media print, screen and (min-width: 40em) {
    .customer-content-menu {
      position: initial;
      -ms-transform: translateX(0%);
          transform: translateX(0%);
      -webkit-transform: translateX(0%); } }
  .customer-content-menu.is-active {
    position: absolute;
    display: block;
    left: 0;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
    z-index: 1;
    animation: slide-in 0.5s forwards;
    -webkit-animation: slide-in 0.4s forwards;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      .customer-content-menu.is-active {
        position: relative;
        background: none;
        height: auto;
        cursor: auto; } }
  .customer-content-menu.is-disabled {
    position: absolute;
    display: block;
    left: 0;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
    z-index: 1;
    animation: slide-out 0.5s forwards;
    -webkit-animation: slide-out 0.4s forwards; }
    @media print, screen and (min-width: 40em) {
      .customer-content-menu.is-disabled {
        position: initial;
        animation: slide-in 0.5s forwards;
        -webkit-animation: slide-in 0.4s forwards;
        height: auto;
        background: none; } }

@-webkit-keyframes slide-in {
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%); } }

@keyframes slide-in {
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%); } }

@keyframes slide-out {
  0% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%); }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); } }

@-webkit-keyframes slide-out {
  0% {
    -webkit-transform: translateX(0%); }
  100% {
    -webkit-transform: translateX(-100%); } }

.nav-account {
  padding: 0.7rem;
  background: white; }
  @media print, screen and (min-width: 40em) {
    .nav-account {
      padding: 0;
      background: none;
      width: auto;
      height: auto; } }

/*End of the funcionality of the customer-button-submenu*/
.nav-account {
  margin: 0;
  list-style-type: none; }
  .nav-account a {
    font-weight: 300;
    color: #152935; }
  .nav-account li.selected a {
    font-weight: 700; }
    .nav-account li.selected a:before {
      content: "";
      background-color: #019BAE;
      width: 20px;
      height: 4px;
      display: inline-block;
      margin-bottom: 4px;
      margin-right: 5px; }

.order-container {
  border: 1px solid #152935; }
  .order-container .order-title-container {
    background: #152935;
    color: #ffffff;
    padding: 10px;
    font-size: 14px;
    line-height: 24px; }
  .order-container .order-list-container {
    padding: 10px;
    font-size: 14px;
    line-height: 24px; }
    .order-container .order-list-container .accordion {
      margin-bottom: 0; }
    .order-container .order-list-container .accordion-item .accordion-title:hover {
      background: none; }
    .order-container .order-list-container .accordion-item .accordion-title:after {
      position: absolute;
      right: 0;
      top: 30%; }
    .order-container .order-list-container .accordion-item.is-active > a.accordion-title:after {
      right: 0; }
    .order-container .order-list-container .accordion-item .product-configuration .accordion-title:after {
      position: relative; }
    .order-container .order-list-container .accordion-content {
      background: #FBFBFB; }
      @media screen and (max-width: 63.99875em) {
        .order-container .order-list-container .accordion-content .order .price-title {
          float: left;
          display: inline; }
        .order-container .order-list-container .accordion-content .order .price-box {
          float: right;
          display: inline; } }
      .order-container .order-list-container .accordion-content .order-button-container {
        text-align: right;
        margin-top: 15px; }

.page-banner.customer-service-banner {
  background-image: url("../images/pages/banners/customer_service.png");
  background-size: 436px;
  min-height: 265px;
  padding: 0; }

.contact-content {
  background-color: #fff;
  padding: 25px;
  box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
  margin-bottom: 25px; }

.avatar {
  width: 149px;
  height: 149px; }

#contact-page .contact-content .intro-contact-content {
  padding-bottom: 1px; }

.contact-content .intro-contact-content h3 {
  margin-top: -100px;
  margin-left: 180px;
  border-bottom: 0px;
  font-weight: bold;
  font-size: 24px; }

.contact-content .intro-contact-content h2, .contact-content .intro-contact-content #cart-container h2, #cart-container .contact-content .intro-contact-content h2 {
  margin-top: -10px;
  margin-left: 180px;
  font-weight: normal;
  font-size: 18px;
  clear: inherit;
  padding-bottom: 15px;
  color: #467fe6; }

/*#contact-page .contact-content .row-found .col-padding{
	padding-top:10px;
}*/
.flag-fr {
  background-image: url("../images/pages/customer_service/flag_fr.png");
  background-repeat: no-repeat;
  width: 40px;
  height: 24px;
  display: inline-block;
  margin-right: 8px; }

.flag-be {
  background-image: url("../images/pages/customer_service/flag_be.png");
  background-repeat: no-repeat;
  width: 40px;
  height: 24px;
  display: inline-block; }

.flag-pt {
  background-image: url("../images/pages/customer_service/flag_pt.png");
  background-repeat: no-repeat;
  width: 40px;
  height: 24px;
  display: inline-block;
  margin-right: 8px; }

.flag-es {
  background-image: url("../images/pages/customer_service/flag_es.png");
  background-repeat: no-repeat;
  width: 40px;
  height: 24px;
  display: inline-block;
  margin-right: 8px; }

.flag-nl {
  background-image: url("../images/pages/customer_service/flag_nl.png");
  background-repeat: no-repeat;
  width: 40px;
  height: 24px;
  display: inline-block;
  margin-right: 8px; }

.flag-en {
  background-image: url("../images/pages/customer_service/flag_en.png");
  background-repeat: no-repeat;
  width: 40px;
  height: 24px;
  display: inline-block;
  margin-right: 8px; }

#contact-page ul {
  margin: 0; }

#contact-page ul li::before {
  display: none; }

#contact-page .contact-content i {
  margin-right: 10px;
  font-size: 16px; }

.reply-contact {
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex; }

/*BOUTON*/
.btn-customer-contact {
  border-radius: 6px;
  color: #ffffff;
  font-size: 18px;
  background: #84b243;
  padding: 2px 10px 2px 10px;
  text-decoration: none;
  margin-left: 20px;
  margin-top: 15px;
  display: inline-block; }

#contact-page .btn-customer-contact p {
  font-size: 16px;
  text-align: center; }

#contact-page .btn-customer-contact p a {
  text-decoration: none;
  color: #fff; }

.btn-customer-contact:hover {
  background: #8ac03e;
  text-decoration: none; }

.btn-customer-contact-pt {
  border-radius: 6px;
  color: #ffffff;
  font-size: 18px;
  background: #84b243;
  padding: 2px 10px 2px 10px;
  text-decoration: none;
  margin-left: 20px;
  margin-top: 40px;
  display: inline-block; }

#contact-page .btn-customer-contact-pt p {
  font-size: 16px;
  text-align: center; }

#contact-page .btn-customer-contact-pt p a {
  text-decoration: none;
  color: #fff; }

.btn-customer-contact-pt:hover {
  background: #8ac03e;
  text-decoration: none; }

.btn-customer-contact-es {
  border-radius: 6px;
  color: #ffffff;
  font-size: 18px;
  background: #84b243;
  padding: 2px 10px 2px 10px;
  text-decoration: none;
  margin-left: 20px;
  margin-top: 44px;
  display: inline-block; }

#contact-page .btn-customer-contact-es p {
  font-size: 16px;
  text-align: center; }

#contact-page .btn-customer-contact-es p a {
  text-decoration: none;
  color: #fff; }

.btn-customer-contact-es:hover {
  background: #8ac03e;
  text-decoration: none; }

.btn-customer-contact-nl {
  border-radius: 6px;
  color: #ffffff;
  font-size: 18px;
  background: #84b243;
  padding: 2px 10px 2px 10px;
  text-decoration: none;
  margin-left: 20px;
  margin-top: 40px;
  display: inline-block; }

#contact-page .btn-customer-contact-nl p {
  font-size: 16px;
  text-align: center; }

#contact-page .btn-customer-contact-nl p a {
  text-decoration: none;
  color: #fff; }

.btn-customer-contact-nl:hover {
  background: #8ac03e;
  text-decoration: none; }

.btn-customer-contact-en {
  border-radius: 6px;
  color: #ffffff;
  font-size: 18px;
  background: #84b243;
  padding: 2px 10px 2px 10px;
  text-decoration: none;
  margin-left: 20px;
  margin-top: 40px;
  display: inline-block; }

#contact-page .btn-customer-contact-en p {
  font-size: 16px;
  text-align: center; }

#contact-page .btn-customer-contact-en p a {
  text-decoration: none;
  color: #fff; }

.btn-customer-contact-en:hover {
  background: #8ac03e;
  text-decoration: none; }

/*FIN BOUTON*/
/*MOIBILE VIEW*/
@media (max-width: 900px) and (min-width: 769px) {
  .page-banner.customer-service-banner {
    background-size: 300px;
    background-position: bottom right; } }

@media (max-width: small) {
  .col1-layout .page-banner .page-banner-title {
    left: 0px;
    position: absolute;
    top: 78%; }
  .customer-info-pt {
    padding-top: 0px; }
  .avatar {
    margin: auto; }
  .contact-content .intro-contact-content h2, .contact-content .intro-contact-content #cart-container h2, #cart-container .contact-content .intro-contact-content h2,
  .contact-content .intro-contact-content h3 {
    margin: 0;
    text-align: center; }
  .btn-customer-contact, .btn-customer-contact-nl, .btn-customer-contact-es {
    margin-bottom: 45px; } }

@media (max-width: 480px) {
  #contact-page .contact-content .row-found.col-padding {
    text-align: center; }
  .btn-customer-contact, .btn-customer-contact-nl,
  .btn-customer-contact-es, .btn-customer-contact-pt, .btn-customer-contact-en {
    margin: auto;
    margin-bottom: 40px; }
  .states-contact {
    display: block; } }

#modalImage .product-image {
  text-align: center; }
  #modalImage .product-image img {
    max-width: unset; }

.price-box .price {
  font-weight: 600; }
  .price-box .price.specialPrice {
    color: #DC5E5E; }
  .price-box .price.regularPrice.strikeOutPrice {
    text-decoration: line-through;
    color: #C8C8C8; }

#product-container {
  margin-top: 1rem; }
  #product-container .orbit .iconsarea {
    position: absolute; }
  #product-container .orbit .orbit-container .orbit-slide .iconsarea {
    position: absolute;
    bottom: 5px;
    right: 15px;
    font-size: 34px; }
  @media screen and (min-width: 40em) {
    #product-container .orbit .orbit-container {
      height: auto !important; }
      #product-container .orbit .orbit-container .orbit-slide {
        display: block !important;
        top: auto !important;
        position: relative;
        margin-bottom: 25px; }
        #product-container .orbit .orbit-container .orbit-slide figure {
          -webkit-filter: brightness(97%);
                  filter: brightness(97%);
          background: white; } }
  @media screen and (min-width: 40em) {
    #product-container .orbit .orbit-controls {
      display: none; } }
  @media screen and (min-width: 40em) {
    #product-container .product-information-container {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      bottom: 30px;
      padding-bottom: 10px; } }
  #product-container .product-information-container .product-name-line-container .product-title {
    font-size: 36px; }
  #product-container .product-information-container .product-name-line-container p.subtitle {
    margin-bottom: 5px; }
  #product-container .product-information-container .product-name-line-container .add-to-wishlist-container {
    font-size: 28px;
    padding-top: 3px;
    min-width: 1px; }
  #product-container .product-information-container .product-main-data-container {
    /*overwrite pricebox for certain templates*/ }
    #product-container .product-information-container .product-main-data-container .price {
      font-size: 1.75rem;
      font-weight: 600;
      margin-bottom: 0px;
      margin-top: 20px; }
  #product-container .product-information-container .add-to-cart-container {
    position: -webkit-sticky;
    position: sticky;
    top: 40px;
    bottom: 0;
    padding: 20px 0;
    background: #ffffff; }
    @media screen and (min-width: 40em) {
      #product-container .product-information-container .add-to-cart-container {
        top: 0px; } }
    #product-container .product-information-container .add-to-cart-container .button {
      margin: 0; }
      @media screen and (min-width: 40em) {
        #product-container .product-information-container .add-to-cart-container .button {
          margin: 0; } }
      #product-container .product-information-container .add-to-cart-container .button.success {
        color: #ffffff;
        padding: 18px; }
  #product-container .product-information-container .product-tabs {
    margin-top: 25px; }
    #product-container .product-information-container .product-tabs .tabs-content blockquote {
      margin-left: 9px; }
    #product-container .product-information-container .product-tabs .tabs-content th {
      text-align: left;
      font-weight: 700; }
    #product-container .product-information-container .product-tabs .tabs-title .link-border,
    #product-container .product-information-container .product-tabs .accordion-title .link-border {
      padding: 0.0625rem 0.125rem;
      text-transform: uppercase; }
    #product-container .product-information-container .product-tabs .tabs-title .rating-stars,
    #product-container .product-information-container .product-tabs .accordion-title .rating-stars {
      font-size: 14px;
      margin-left: 5px; }
    #product-container .product-information-container .product-tabs .tabs-title.is-active .link-border,
    #product-container .product-information-container .product-tabs .accordion-title.is-active .link-border {
      border: 0.125rem solid #3D70B2; }
    #product-container .product-information-container .product-tabs .share_button_container {
      text-align: center;
      padding-top: 1rem; }
      @media screen and (min-width: 40em) and (max-width: 63.99875em) {
        #product-container .product-information-container .product-tabs .share_button_container {
          padding-top: 0px; } }
      @media screen and (max-width: 39.99875em) {
        #product-container .product-information-container .product-tabs .share_button_container {
          padding-top: 0px; } }
      #product-container .product-information-container .product-tabs .share_button_container p {
        color: #C8C8C8;
        padding-bottom: 5px; }
      #product-container .product-information-container .product-tabs .share_button_container a {
        margin: 3px; }
      #product-container .product-information-container .product-tabs .share_button_container .icon-envelope {
        color: #ffffff;
        padding: 12px;
        border-radius: 100px;
        text-decoration: none;
        background-color: #E4CE7F;
        transition-property: "background-color";
        -webkit-transition-property: "background-color";
        transition-duration: 1s; }
        #product-container .product-information-container .product-tabs .share_button_container .icon-envelope:hover {
          background-color: #D8BA4D; }
      #product-container .product-information-container .product-tabs .share_button_container .icon-facebook {
        color: #ffffff;
        padding: 12px 15px 12px 15PX;
        border-radius: 100px;
        text-decoration: none;
        background-color: #6F7AB7;
        transition-property: "background-color";
        -webkit-transition-property: "background-color";
        transition-duration: 1s; }
        #product-container .product-information-container .product-tabs .share_button_container .icon-facebook:hover {
          background-color: #5A68AD; }
      #product-container .product-information-container .product-tabs .share_button_container .icon-twitter {
        color: #ffffff;
        padding: 12px;
        border-radius: 100px;
        text-decoration: none;
        background-color: #00ACEE;
        transition-property: "background-color";
        -webkit-transition-property: "background-color";
        transition-duration: 1s; }
        #product-container .product-information-container .product-tabs .share_button_container .icon-twitter:hover {
          background-color: #8E81DE; }
  #product-container .product__wishlist-actions {
    margin-bottom: 10px; }
  #product-container .wishlist-icons.add-to-wishlist-container .jse-add-to-wishlist {
    display: inline-block;
    color: black; }
  #product-container .wishlist-icons.add-to-wishlist-container .jse-remove-from-wishlist {
    display: none; }
  #product-container .wishlist-icons.add-to-wishlist-container.jss-is-on-wishlist .jse-add-to-wishlist {
    display: none; }
  #product-container .wishlist-icons.add-to-wishlist-container.jss-is-on-wishlist .jse-remove-from-wishlist {
    display: inline-block; }
  #product-container.glasses-product {
    /*disabled options*/ }
    #product-container.glasses-product #JS-PV_STEP2 .jse-chooseLensColor {
      cursor: pointer;
      margin-bottom: 1rem; }
    #product-container.glasses-product #JS-PV_STEP2 .jss-bundle-price .price-box {
      display: inline-block;
      padding: 6px;
      font-weight: bold; }
      #product-container.glasses-product #JS-PV_STEP2 .jss-bundle-price .price-box .specialPrice {
        font-weight: bold; }
      #product-container.glasses-product #JS-PV_STEP2 .jss-bundle-price .price-box .regularPrice.strikeOutPrice {
        color: #ffffff; }
    @media screen and (max-width: 39.99875em) {
      #product-container.glasses-product #JS-PV_STEP2 #customerInput label {
        margin-bottom: 1rem; } }
    #product-container.glasses-product .add-to-cart-bottom-container {
      position: -webkit-sticky;
      position: sticky;
      bottom: 0;
      margin: 0;
      width: 100%;
      z-index: 10; }
      #product-container.glasses-product .add-to-cart-bottom-container .add-to-cart-btn {
        font-size: 1.2em;
        margin: 0 auto;
        max-width: 340px; }
    #product-container.glasses-product .lenscolorlist {
      display: inline-block; }
    #product-container.glasses-product .product-option-tabs {
      margin: 1rem; }
    #product-container.glasses-product .disabled {
      opacity: 0.4;
      cursor: not-allowed; }
      #product-container.glasses-product .disabled a {
        opacity: 0.4;
        cursor: not-allowed !important; }
  #product-container .produdct-tierprice .tabs-title a {
    padding: 0.625rem;
    border: 1px solid;
    margin-bottom: 0.3125rem;
    background-color: #ffffff; }
    #product-container .produdct-tierprice .tabs-title a li {
      padding: 0; }
  #product-container .produdct-tierprice .tabs {
    border: 0px; }
  #product-container .product-option-tabs .tabs-title a li {
    padding: 0; }
  #product-container .produdct-tierprice:not(.lenscolorTab) .tabs-panel, #product-container .product-option-tabs:not(.lenscolorTab) .tabs-panel {
    padding: 0; }
  #product-container .produdct-tierprice .savingPercentage, #product-container .product-option-tabs .savingPercentage {
    color: #DC5E5E;
    font-weight: bold;
    float: right; }
  #product-container .produdct-tierprice .tierPriceTotal, #product-container .product-option-tabs .tierPriceTotal {
    text-decoration: underline; }
  #product-container .produdct-tierprice .tab-title-heading, #product-container .product-option-tabs .tab-title-heading {
    line-height: 1.25rem;
    display: inline; }
  #product-container .produdct-tierprice .tabs-title.is-active .tabBullets span.icon-circle-thin, #product-container .produdct-tierprice .tabs-title.enabled:hover .tabBullets span.icon-circle-thin, #product-container .product-option-tabs .tabs-title.is-active .tabBullets span.icon-circle-thin, #product-container .product-option-tabs .tabs-title.enabled:hover .tabBullets span.icon-circle-thin {
    display: none; }
  #product-container .produdct-tierprice .tabs-title.is-active .tabBullets span.icon-dot-circle-o, #product-container .produdct-tierprice .tabs-title.enabled:hover .tabBullets span.icon-dot-circle-o, #product-container .product-option-tabs .tabs-title.is-active .tabBullets span.icon-dot-circle-o, #product-container .product-option-tabs .tabs-title.enabled:hover .tabBullets span.icon-dot-circle-o {
    display: inline; }
  #product-container .produdct-tierprice .tabs-title.is-active .tabBullets span.icon-dot-circle-o:before, #product-container .produdct-tierprice .tabs-title.enabled:hover .tabBullets span.icon-dot-circle-o:before, #product-container .product-option-tabs .tabs-title.is-active .tabBullets span.icon-dot-circle-o:before, #product-container .product-option-tabs .tabs-title.enabled:hover .tabBullets span.icon-dot-circle-o:before {
    color: green;
    margin: 0 auto;
    -webkit-animation-name: tabBulletsActive;
            animation-name: tabBulletsActive;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
    -webkit-animation-delay: 0;
            animation-delay: 0;
    -webkit-animation-direction: alternate;
            animation-direction: alternate;
    -webkit-animation-iteration-count: initial;
            animation-iteration-count: initial;
    opacity: 1; }

@-webkit-keyframes tabBulletsActive {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes tabBulletsActive {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.glasses-lens-values-container .callout hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border-color: #3D70B2; }

.glasses-lens-values-container .callout p span[class^="icon-"] {
  font-size: 20px;
  margin: 0;
  margin-right: 5px; }

.glasses-upload-prescription-container .upload-prescription {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0px;
  width: 100px;
  height: 90px; }
  .glasses-upload-prescription-container .upload-prescription .icon-image:before {
    font-size: 2rem; }
  .glasses-upload-prescription-container .upload-prescription .icon-image {
    display: block;
    padding-bottom: 5px; }

.glasses-upload-prescription-container .upload-prescription-item {
  position: relative;
  margin-bottom: 0px;
  display: inline-block;
  vertical-align: middle;
  width: 100px;
  height: 90px;
  display: inline-block;
  margin-right: 1rem;
  border: 1px solid #3D70B2; }
  .glasses-upload-prescription-container .upload-prescription-item #jsd-prescription-upload-item-text {
    word-break: break-all !important;
    font-size: 12px;
    padding: 5px; }
  .glasses-upload-prescription-container .upload-prescription-item .icon-times-circle-o {
    cursor: pointer;
    position: absolute !important;
    bottom: -15px;
    right: -10px; }
    .glasses-upload-prescription-container .upload-prescription-item .icon-times-circle-o.has-tip {
      position: absolute !important;
      display: inline-block;
      border: none;
      font-weight: normal;
      cursor: pointer; }
  .glasses-upload-prescription-container .upload-prescription-item .icon-times-circle-o:before {
    font-size: 1.5625rem !important;
    background-color: #fff; }

/*remoteedging special*/
/*hide colorTabs for remoteedging*/
.product_view.view_remoteedging .COLORNAVGRADIENT, .product_view.view_remoteedging .COLORNAVMIRROR, .product_view.view_remoteedging .hide_remoteedging {
  display: none !important; }

#lens_color_box .color-items.side-right {
  display: none; }

#lens_color_box .default_price {
  color: #000;
  font-weight: bold; }

#lens_color_box .special_price {
  padding: 0 0 7px 0; }

#lens_color_box .b24_special_price_old {
  padding: 8px 0 2px;
  text-decoration: line-through; }

#lens_color_box .priceStep2 .b24_special_price_old {
  padding: 12px 0 0;
  text-decoration: line-through; }

#lens_color_box .special_price_box .default_price,
#lens_color_box .special_price_box .b24_special_price_old {
  display: inline;
  text-decoration: line-through;
  font-weight: 600;
  font-size: small;
  padding-right: 5px; }

#lens_color_box .special_price_box .special_price {
  font-weight: 600;
  color: #f53c39; }

/* Color box */
.view_glasses #lens_color_box {
  display: none; }

#tejadoGlasses.prescriptionSunglasses #lens_color_box {
  position: relative;
  display: block !important;
  margin: 30px 0 0; }

/* TABS */
#lens_color_box .lens_color_tabs .tabs {
  background: #fff;
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 0px;
  padding-right: 0px; }
  html:not(.mobile) #lens_color_box .lens_color_tabs .tabs {
    border: 1px solid #000; }

#lens_color_box .lens_color_tabs .tabs_nav .nav {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 10px 9px;
  margin: 0 -6px -1px 0;
  border: 1px solid #000;
  border-left: 1px solid #fff;
  cursor: pointer;
  position: relative; }
  #lens_color_box .lens_color_tabs .tabs_nav .nav:first-child,
  html.mobile #lens_color_box .lens_color_tabs .tabs_nav .nav {
    border-left-color: #000; }
  html.mobile #lens_color_box .lens_color_tabs .tabs_nav .nav {
    border-bottom: 1px solid #000;
    border-left-color: #000; }

#lens_color_box .lens_color_tabs .tabs_nav .nav.lens_transitions,
#lens_color_box .lens_color_tabs .tabs_nav .nav.lens_polarizer,
#lens_color_box .lens_color_tabs .tabs_nav .nav.lens_mirror,
#lens_color_box .lens_color_tabs .tabs_nav .nav.lens_gradient {
  display: none; }

#lens_color_box .lens_color_tabs .tabs_nav .nav:hover,
#lens_color_box .lens_color_tabs .tabs_nav .nav:focus {
  background: #555; }

#lens_color_box .lens_color_tabs .tabs_nav .nav.is-active,
#lens_color_box .lens_color_tabs .tabs_nav .nav:active {
  background: #fff !important;
  color: #000 !important;
  border-bottom: 1px solid #fff; }

#lens_color_box .lens_color_tabs .tabs_nav .nav.nav-no-tinting.is-active,
#lens_color_box .lens_color_tabs .tabs_nav .nav.nav-no-tinting:active {
  border-bottom: 1px solid #000; }

#lens_color_box .lens_color_tabs .tabs .tab {
  position: relative;
  display: none; }

#lens_color_box .lens_color_tabs .tabs .tab.lens_color {
  display: block; }

/*add feature#5278 */
body.isofficelens #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_transitions,
body.isofficelens #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_polarizer,
body.isofficelens #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_mirror,
body.isofficelens #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_gradient,
body.isrefinement_abc #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_transitions,
body.isrefinement_abc #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_polarizer,
body.isrefinement_abc #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_mirror,
body.isrefinement_abc #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_gradient {
  opacity: 0.2;
  color: #CCCCCC;
  cursor: not-allowed !important; }

body.isofficelens #lens_color_box .lc_0630,
body.isofficelens #lens_color_box .lc_0650,
body.isofficelens #lens_color_box .lc_0850,
body.isofficelens #lens_color_box .lc_0830,
body.isofficelens #lens_color_box .lc_0185,
body.isofficelens #lens_color_box .lc_0175,
body.isofficelens #lens_color_box .lc_0150,
body.isofficelens #lens_color_box .lc_0130,
body.isofficelens #lens_color_box .lc_0285,
body.isofficelens #lens_color_box .lc_0275,
body.isofficelens #lens_color_box .lc_0250,
body.isofficelens #lens_color_box .lc_0230,
body.isofficelens #lens_color_box .lc_0330,
body.isofficelens #lens_color_box .lc_0350,
body.isofficelens #lens_color_box .lc_0785,
body.isofficelens #lens_color_box .lc_0775,
body.isofficelens #lens_color_box .lc_0750,
body.isofficelens #lens_color_box .lc_0730,
body.isofficelens #lens_color_box .lc_0585,
body.isofficelens #lens_color_box .lc_0575,
body.isofficelens #lens_color_box .lc_0550,
body.isofficelens #lens_color_box .lc_0530,
body.isofficelens #lens_color_box .lc_0610,
body.isofficelens #lens_color_box .lc_0810,
body.isofficelens #lens_color_box .lc_0310,
body.isofficelens #lens_color_box .lc_0110,
body.isofficelens #lens_color_box .lc_0210,
body.isofficelens #lens_color_box .lc_0710,
body.isofficelens #lens_color_box .lc_0510, body.isrefinement_abc #lens_color_box .lc_0630,
body.isrefinement_abc #lens_color_box .lc_0650,
body.isrefinement_abc #lens_color_box .lc_0850,
body.isrefinement_abc #lens_color_box .lc_0830,
body.isrefinement_abc #lens_color_box .lc_0185,
body.isrefinement_abc #lens_color_box .lc_0175,
body.isrefinement_abc #lens_color_box .lc_0150,
body.isrefinement_abc #lens_color_box .lc_0130,
body.isrefinement_abc #lens_color_box .lc_0285,
body.isrefinement_abc #lens_color_box .lc_0275,
body.isrefinement_abc #lens_color_box .lc_0250,
body.isrefinement_abc #lens_color_box .lc_0230,
body.isrefinement_abc #lens_color_box .lc_0330,
body.isrefinement_abc #lens_color_box .lc_0350,
body.isrefinement_abc #lens_color_box .lc_0785,
body.isrefinement_abc #lens_color_box .lc_0775,
body.isrefinement_abc #lens_color_box .lc_0750,
body.isrefinement_abc #lens_color_box .lc_0730,
body.isrefinement_abc #lens_color_box .lc_0585,
body.isrefinement_abc #lens_color_box .lc_0575,
body.isrefinement_abc #lens_color_box .lc_0550,
body.isrefinement_abc #lens_color_box .lc_0530,
body.isrefinement_abc #lens_color_box .lc_0610,
body.isrefinement_abc #lens_color_box .lc_0810,
body.isrefinement_abc #lens_color_box .lc_0310,
body.isrefinement_abc #lens_color_box .lc_0110,
body.isrefinement_abc #lens_color_box .lc_0210,
body.isrefinement_abc #lens_color_box .lc_0710,
body.isrefinement_abc #lens_color_box .lc_0510 {
  opacity: 0.1;
  color: #CCCCCC;
  cursor: not-allowed !important; }

body.isrefinement_seiko_singleVision, body.isrefinement_seiko_progressive {
  /*
  ['0000','0110','0130','0150','0175','0185',
  '0210','0230','0250','0275','0285','0310','0330','0350','0510','0530','0550',
  '0575','0585','0775','0785','0197','0297','0198','0298','0798'];
  */ }
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0750,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0730,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0710,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0199,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0299,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0194,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0294,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0850,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0830,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0810,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0650,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0630,
  body.isrefinement_seiko_singleVision #lens_color_box .lc_0610, body.isrefinement_seiko_progressive #lens_color_box .lc_0750,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0730,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0710,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0199,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0299,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0194,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0294,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0850,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0830,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0810,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0650,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0630,
  body.isrefinement_seiko_progressive #lens_color_box .lc_0610 {
    opacity: 0.1;
    color: #CCCCCC;
    cursor: not-allowed !important; }
  body.isrefinement_seiko_singleVision #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_gradient,
  body.isrefinement_seiko_singleVision #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_mirror, body.isrefinement_seiko_progressive #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_gradient,
  body.isrefinement_seiko_progressive #lens_color_box .lens_color_tabs .tabs_nav .nav.lens_mirror {
    opacity: 0.2;
    color: #CCCCCC;
    cursor: not-allowed !important; }
  body.isrefinement_seiko_singleVision #lens_color_box #LENSCOLOR_SUNMOTION,
  body.isrefinement_seiko_singleVision #lens_color_box #LENSCOLOR_TRANSITIONXTRACTIVE, body.isrefinement_seiko_progressive #lens_color_box #LENSCOLOR_SUNMOTION,
  body.isrefinement_seiko_progressive #lens_color_box #LENSCOLOR_TRANSITIONXTRACTIVE {
    display: none; }

div.index_info_hint, div.is_refinement_abc_hint {
  display: none; }

body.isrefinement_abc div.lens_color_state {
  display: none !important; }

body.isrefinement_abc div.is_refinement_abc_hint {
  display: block; }

body.isrefinement_abc .refinement_item.refinement_abc div.index_info_hint {
  display: block; }

body.isrefinement_seiko_progressive div.is_refinement_seiko_singleVision_hint,
body.isrefinement_seiko_progressive div.is_refinement_seiko_progressive_hint,
body.isrefinement_seiko_singleVision div.is_refinement_seiko_singleVision_hint,
body.isrefinement_seiko_singleVision div.is_refinement_seiko_progressive_hint {
  display: block; }

body.isrefinement_seiko_progressive .refinement_item.refinement_seiko_progressive div.index_info_hint,
body.isrefinement_seiko_progressive .refinement_item.refinement_seiko_singleVision div.index_info_hint,
body.isrefinement_seiko_singleVision .refinement_item.refinement_seiko_progressive div.index_info_hint,
body.isrefinement_seiko_singleVision .refinement_item.refinement_seiko_singleVision div.index_info_hint {
  display: block; }

.mirror-colors {
  float: left;
  width: 100%; }

.color-items .brand {
  color: #000000; }

/* Ohne Tönung */
#lens_color_box .color-items.none {
  position: relative;
  width: 100%;
  display: block; }

#lens_color_box {
  padding-top: 20px;
  padding-bottom: 20px; }

#lens_color_box .bottom {
  /*
margin: 15px -20px -20px -20px;

text-align: right;
border-top: 1px solid #ddd;
*/
  padding: 15px 20px 15px 15px; }

#lens_color_box .bottom .left {
  margin-bottom: 10px; }

/* Lencolor left*/
#lens_color_box .color-items.side-left {
  position: relative;
  float: left;
  margin: 15px 0 5px 0;
  width: 100%; }

#lens_color_box .color-items .headline {
  min-width: 40px;
  height: 24px;
  text-align: left;
  float: left; }
  @media screen and (max-width: 39.99875em) {
    #lens_color_box .color-items .headline {
      min-width: 60px; } }

#lens_color_box .color-items .row-color {
  position: relative;
  width: 100%;
  border-bottom: 1px solid #ccc;
  display: inline-table; }

#lens_color_box .lens_mirror .color-items .row-color {
  position: relative; }

#lens_color_box .color-items .row-color .headline {
  min-width: 85px;
  height: 30px;
  text-align: left;
  float: left;
  display: inline-block;
  margin-right: 5px;
  vertical-align: baseline;
  margin-top: 7px; }

#lens_color_box .lens_transitions .color-items .row-color {
  margin: -4px 0 0 0; }

#lens_color_box .color-items .row-color.scale .value {
  display: inline-block;
  min-width: 45px;
  height: 30px;
  border-left: 1px solid #CCCCCC;
  text-align: center; }

#lens_color_box .color-items .item {
  display: block;
  position: relative;
  width: 34px;
  height: 28px;
  float: left; }
  #lens_color_box .color-items .item .always-enabled,
  #lens_color_box .color-items .item hr.always-enabled {
    box-shadow: green !important;
    border-radius: 4px !important; }
  #lens_color_box .color-items .item hr {
    position: relative;
    display: inline-block;
    padding: 0;
    margin: 0;
    outline: none;
    width: 30px;
    height: 24px;
    border: none;
    border-radius: 2px;
    /*&:after {
      content: '';
      position: relative;
      display: inline-block;
      width: 40px;
      height: 24px;
      background-image: url(../img/glasses/lenscolors/glasses_mask.png);
      background-size: cover;
    }*/ }
  #lens_color_box .color-items .item .disabled {
    display: none !important; }

#lens_color_box .color-items .item.lc_0000 hr {
  position: relative;
  background-color: #888; }

#lens_color_box .color-items .item.lc_0000:not(.is-active):after {
  content: '';
  position: absolute;
  top: -5px;
  left: 0;
  width: 41px;
  height: 27px;
  background-image: url(../img/glasses/lenscolors/transition_img.png);
  background-position: -95px -382px;
  background-repeat: no-repeat;
  z-index: 1; }

#lens_color_box .color-items.none .item {
  clear: both;
  float: none !important; }

/* Transitions */
#lens_color_box .special_colors .color-items.side-right {
  position: relative;
  width: 300px;
  float: right; }

#lens_color_box .special_colors .color-items.side-right .headline_ani {
  padding: 0 0 5px;
  margin: 0 0 5px;
  text-align: center; }

#lens_color_box .special_colors .color-items .headline-long {
  max-width: 530px;
  text-align: left; }

#lens_color_box .special_colors .color-items.none .headline-long {
  border-top: none;
  padding: 0; }

#lens_color_box .special_colors .color-items .headline-long .brand {
  float: left;
  width: 200px; }

#lens_color_box .special_colors .color-items .usp {
  margin: 10px 10px 0px 20px;
  margin-left: 0px;
  margin-top: 15px;
  margin-bottom: 15px;
  float: left;
  display: none; }
  @media print, screen and (min-width: 64em) {
    #lens_color_box .special_colors .color-items .usp {
      display: initial; } }

#lens_color_box .brille24_sunmotionname {
  display: inline-block;
  width: 125px;
  height: 60px; }

#lens_color_box .transitionsname {
  display: inline-block;
  width: 125px;
  height: 60px; }

#lens_color_box .logo span {
  display: none; }

/* transition animation */
#transitionAni {
  width: 300px; }

#lens_color_box .special_colors #transitionAni .btn {
  border: 1px solid #ddd;
  border-bottom: none;
  padding: 11px 25px 9px 25px !important;
  cursor: default; }
  #lens_color_box .special_colors #transitionAni .btn .noUi-handle.noUi-handle-lower {
    cursor: pointer; }

#lens_color_box .special_colors #transitionAni .transitionIcon {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 18px 0 0;
  background-image: url(../img/glasses/lenscolors/transition_img.png);
  background-position: 4px -371px;
  background-repeat: no-repeat; }

#lens_color_box .special_colors #transitionAni .transitionIcon.sunny {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin: 0 0 0 8px;
  background-image: url(../img/glasses/lenscolors/transition_img.png);
  background-position: -45px -372px; }

#lens_color_box .special_colors #transitionAni .slider {
  display: inline-block;
  width: 142px;
  height: 25px; }

#lens_color_box .special_colors #transitionAni .transitionImg {
  position: relative;
  width: 300px;
  height: 180px;
  background-image: url(../img/glasses/lenscolors/transition_img.png);
  overflow: hidden; }

#lens_color_box .special_colors #transitionAni .transitionImg .glass {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 300px;
  height: 180px;
  background-image: url(../img/glasses/lenscolors/transition_img.png);
  background-position: 0 -180px;
  filter: alpha(opacity=10);
  opacity: 1; }

/* polarizer animation */
#lens_color_box .special_colors .color-items.side-right #polarizerAni {
  display: block;
  white-space: nowrap;
  border: 1px solid #000; }

#lens_color_box .special_colors #polarizerAni .btn {
  display: inline-block;
  width: 134px;
  cursor: pointer;
  padding: 5px 0 4px 0;
  background: #fff;
  border-bottom: 1px solid #000;
  text-align: center;
  font-size: 12px; }

#lens_color_box .special_colors #polarizerAni .btn:first-child {
  margin: 0 -5px 0 0; }

#lens_color_box .special_colors #polarizerAni .btn.off {
  width: 165px; }

#lens_color_box .special_colors #polarizerAni .btn.is-active {
  background: #000;
  color: #fff; }

#lens_color_box .special_colors #polarizerAni .polarizerImg,
#panel1c, #panel2c {
  width: 295px;
  height: 180px; }

#panel1c {
  background-image: url(../img/glasses/lenscolors/polarizer_img.jpg); }

#panel2c {
  background-position: 0 -180px;
  background-image: url(../img/glasses/lenscolors/polarizer_img.jpg); }

#lens_color_box #degradierAni .degradierImg {
  width: 298px;
  height: 180px;
  background: url(../img/glasses/lenscolors/gradient/sample-gradient-brown.jpg) 0px center; }
  #lens_color_box #degradierAni .degradierImg > div.mirror-0196 {
    position: relative;
    width: 100%;
    height: 180px;
    background: url(../img/glasses/lenscolors/gradient/sample-gradient-brown.jpg) 0px center; }
  #lens_color_box #degradierAni .degradierImg > div.mirror-0296 {
    position: relative;
    width: 100%;
    height: 180px;
    background: url(../img/glasses/lenscolors/gradient/sample-gradient-gray.jpg) 0px center; }
  #lens_color_box #degradierAni .degradierImg > div.mirror-0796 {
    position: relative;
    width: 100%;
    height: 180px;
    background: url(../img/glasses/lenscolors/gradient/sample-gradient-green.jpg) 0px center; }

#lens_color_box .special_colors #polarizerAni .polarizerImg.polarizerOff {
  background-position: 0 -180px; }

#lens_color_box .special_colors .color-items a.info_transitions, #lens_color_box .special_colors .color-items a.info_polarizer {
  display: block;
  width: 298px;
  text-align: right;
  margin: 10px 0 0 0; }

/* gradient/mirror images on click */
/* default */
.special_colors .showlenscolor0296,
.special_colors .showlenscolor0796,
.special_colors .showlenscolor1095,
.special_colors .showlenscolor1195,
.special_colors .showlenscolor1295,
.special_colors .showlenscolor1395 {
  display: none; }

/* hide default if other color selected*/
#lens_color_box.lenscolor0296 .showlenscolor0196,
#lens_color_box.lenscolor0796 .showlenscolor0196,
#lens_color_box.lenscolor1095 .showlenscolor0995,
#lens_color_box.lenscolor1195 .showlenscolor0995,
#lens_color_box.lenscolor1295 .showlenscolor0995,
#lens_color_box.lenscolor1395 .showlenscolor0995 {
  display: none; }

/* show other headlines */
#lens_color_box.lenscolor0296 .showlenscolor0296,
#lens_color_box.lenscolor0796 .showlenscolor0796,
#lens_color_box.lenscolor1095 .showlenscolor1095,
#lens_color_box.lenscolor1195 .showlenscolor1195,
#lens_color_box.lenscolor1295 .showlenscolor1295,
#lens_color_box.lenscolor1395 .showlenscolor1395 {
  display: block; }

/* image */
#lens_color_box .image_ani {
  width: 300px;
  height: 209px; }

/* standard/brown gradient */
#lens_color_box .image_ani.gradientLens {
  background-image: url(../img/glasses/lenscolors/gradient_img.jpg); }

/* grey gradient*/
#lens_color_box.lenscolor0296 .image_ani.gradientLens {
  background-position: 0 -209px; }

/* pilotgreen gradient*/
#lens_color_box.lenscolor0796 .image_ani.gradientLens {
  background-position: 0 -418px; }

/* standard/gold mirror */
#lens_color_box .image_ani.mirror {
  background-image: url(../img/glasses/lenscolors/mirror_img.jpg);
  background-position: 0 -0; }

/* grey mirro*/
#lens_color_box.lenscolor1095 .image_ani.mirror {
  background-position: 0 -209px; }

/* pilotgreen mirror*/
#lens_color_box.lenscolor1195 .image_ani.mirror {
  background-position: 0 -418px; }

/* blue mirror*/
#lens_color_box.lenscolor1295 .image_ani.mirror {
  background-position: 0 -627px; }

#lens_color_box.lenscolor1395 .image_ani.mirror {
  background-position: 0 -836px; }

#lens_color_box .image_ani.gradientLens a, #lens_color_box .image_ani.mirror a {
  position: absolute;
  right: 8px;
  bottom: 4px;
  color: #fff;
  text-shadow: 0 0 1px #000, 0 0 1px #000, 0 0 3px #000, 0 0 3px #000; }
  #lens_color_box .image_ani.gradientLens a:hover, #lens_color_box .image_ani.mirror a:hover {
    text-decoration: none; }

#lens_color_box .special_colors .color-items .headline-long.price {
  float: right;
  width: 80px;
  right: 160px;
  margin: 2px 0 0 0;
  background: #fff;
  text-align: center;
  color: #000; }

#lens_color_box .special_colors .color-items .headline-long .price.priceStep1 {
  color: #000; }

#lens_color_box .special_colors .color-items .headline-long .price.priceStep2 {
  color: #000; }

#lens_color_box .special_colors .color-items .headline-long .price span {
  display: block;
  width: 265px;
  right: 0px;
  position: absolute;
  padding: 22px 0 0 0;
  text-align: left; }

#lens_color_box .special_colors .color-items .special-item {
  width: 80px; }

body.isofficelens #lens_color_box .color-items .item.lc_0610 hr, body.isrefinement_abc #lens_color_box .color-items .item.lc_0610 hr {
  background-color: #E8E040; }

body.isofficelens #lens_color_box .color-items .item.lc_0810 hr, body.isrefinement_abc #lens_color_box .color-items .item.lc_0810 hr {
  background-color: #E08282; }

body.isofficelens #lens_color_box .color-items .item.lc_0310 hr, body.isrefinement_abc #lens_color_box .color-items .item.lc_0310 hr {
  background-color: #4D99EA; }

body.isofficelens #lens_color_box .color-items .item.lc_0110 hr, body.isrefinement_abc #lens_color_box .color-items .item.lc_0110 hr {
  background-color: #754F40; }

body.isofficelens #lens_color_box .color-items .item.lc_0210 hr, body.isrefinement_abc #lens_color_box .color-items .item.lc_0210 hr {
  background-color: #6B6E77; }

body.isofficelens #lens_color_box .color-items .item.lc_0710 hr, body.isrefinement_abc #lens_color_box .color-items .item.lc_0710 hr {
  background-color: #628177; }

body.isofficelens #lens_color_box .color-items .item.lc_0510 hr, body.isrefinement_abc #lens_color_box .color-items .item.lc_0510 hr {
  background-color: #5BA068; }

#lens_color_box .color-items .item.lc_0610 hr, .catalog-product-view .lens_color_state hr.lc_0610,
.squareSelected.lc_0610 {
  background-color: #F8F5BF; }

#lens_color_box .color-items .item.lc_0630 hr, .catalog-product-view .lens_color_state hr.lc_0630,
.squareSelected.lc_0630 {
  background-color: #F0EA80; }

#lens_color_box .color-items .item.lc_0650 hr, .catalog-product-view .lens_color_state hr.lc_0650,
.squareSelected.lc_0650 {
  background-color: #E8E040; }

#lens_color_box .color-items .item.lc_0810 hr, .catalog-product-view .lens_color_state hr.lc_0810,
.squareSelected.lc_0810 {
  background-color: #F5D5D5; }

#lens_color_box .color-items .item.lc_0830 hr, .catalog-product-view .lens_color_state hr.lc_0830,
.squareSelected.lc_0830 {
  background-color: #EAACAC; }

#lens_color_box .color-items .item.lc_0850 hr, .catalog-product-view .lens_color_state hr.lc_0850,
.squareSelected.lc_0850 {
  background-color: #E08282; }

#lens_color_box .color-items .item.lc_0310 hr, .catalog-product-view .lens_color_state hr.lc_0310,
.squareSelected.lc_0310 {
  background-color: #C4DDF8; }

#lens_color_box .color-items .item.lc_0330 hr, .catalog-product-view .lens_color_state hr.lc_0330,
.squareSelected.lc_0330 {
  background-color: #88BBF1; }

#lens_color_box .color-items .item.lc_0350 hr, .catalog-product-view .lens_color_state hr.lc_0350,
.squareSelected.lc_0350 {
  background-color: #4D99EA; }

#lens_color_box .color-items .item.lc_0510 hr, .catalog-product-view .lens_color_state hr.lc_0510,
.squareSelected.lc_0510 {
  background-color: #C8DFCC; }

#lens_color_box .color-items .item.lc_0530 hr, .catalog-product-view .lens_color_state hr.lc_0530,
.squareSelected.lc_0530 {
  background-color: #92C09A; }

#lens_color_box .color-items .item.lc_0550 hr, .catalog-product-view .lens_color_state hr.lc_0550,
.squareSelected.lc_0550 {
  background-color: #5BA068; }

#lens_color_box .color-items .item.lc_0575 hr, .catalog-product-view .lens_color_state hr.lc_0575,
.squareSelected.lc_0575 {
  background-color: #248035; }

#lens_color_box .color-items .item.lc_0585 hr, .catalog-product-view .lens_color_state hr.lc_0585,
.squareSelected.lc_0585 {
  background-color: #30743D; }

#lens_color_box .color-items .item.lc_0710 hr, .catalog-product-view .lens_color_state hr.lc_0710,
.squareSelected.lc_0710 {
  background-color: #CAD5D2; }

#lens_color_box .color-items .item.lc_0730 hr, .catalog-product-view .lens_color_state hr.lc_0730,
.squareSelected.lc_0730 {
  background-color: #96ABA4; }

#lens_color_box .color-items .item.lc_0750 hr, .catalog-product-view .lens_color_state hr.lc_0750,
.squareSelected.lc_0750 {
  background-color: #628177; }

#lens_color_box .color-items .item.lc_0775 hr, .catalog-product-view .lens_color_state hr.lc_0775,
.squareSelected.lc_0775 {
  background-color: #2D574A; }

#lens_color_box .color-items .item.lc_0785 hr, .catalog-product-view .lens_color_state hr.lc_0785,
.squareSelected.lc_0785 {
  background-color: #335148; }

#lens_color_box .color-items .item.lc_0210 hr, .catalog-product-view .lens_color_state hr.lc_0210,
.squareSelected.lc_0210 {
  background-color: #CECED2; }

#lens_color_box .color-items .item.lc_0230 hr, .catalog-product-view .lens_color_state hr.lc_0230,
.squareSelected.lc_0230 {
  background-color: #9C9EA4; }

#lens_color_box .color-items .item.lc_0250 hr, .catalog-product-view .lens_color_state hr.lc_0250,
.squareSelected.lc_0250 {
  background-color: #6B6E77; }

#lens_color_box .color-items .item.lc_0275 hr, .catalog-product-view .lens_color_state hr.lc_0275,
.squareSelected.lc_0275 {
  background-color: #3A3D4A; }

#lens_color_box .color-items .item.lc_0285 hr, .catalog-product-view .lens_color_state hr.lc_0285,
.squareSelected.lc_0285 {
  background-color: #404144; }

#lens_color_box .color-items .item.lc_0299 hr, .catalog-product-view .lens_color_state hr.lc_0299,
.squareSelected.lc_0299 {
  background-color: #404144; }

#lens_color_box .color-items .item.lc_0110 hr, .catalog-product-view .lens_color_state hr.lc_0110,
.squareSelected.lc_0110 {
  background-color: #D1C4BF; }

#lens_color_box .color-items .item.lc_0130 hr, .catalog-product-view .lens_color_state hr.lc_0130,
.squareSelected.lc_0130 {
  background-color: #A38A80; }

#lens_color_box .color-items .item.lc_0150 hr, .catalog-product-view .lens_color_state hr.lc_0150,
.squareSelected.lc_0150 {
  background-color: #754F40; }

#lens_color_box .color-items .item.lc_0175 hr, .catalog-product-view .lens_color_state hr.lc_0175,
.squareSelected.lc_0175 {
  background-color: #471400; }

#lens_color_box .color-items .item.lc_0185 hr, .catalog-product-view .lens_color_state hr.lc_0185,
.squareSelected.lc_0185 {
  background-color: #431604; }

#lens_color_box .color-items .item.lc_0196 hr, .catalog-product-view .lens_color_state hr.lc_0196,
.squareSelected.lc_0196 {
  background-color: #431604; }

#lens_color_box .color-items .item.lc_0199 hr, .catalog-product-view .lens_color_state hr.lc_0199,
.squareSelected.lc_0199 {
  background-color: #431604; }

#lens_color_box .color-items .item.lc_0198 hr, .catalog-product-view .lens_color_state hr.lc_0198,
.squareSelected.lc_0198 {
  background-color: #431604; }

#lens_color_box .color-items .item.lc_0197 hr, .catalog-product-view .lens_color_state hr.lc_0197,
.squareSelected.lc_0197 {
  background-color: #431604; }

#lens_color_box .color-items .item.lc_0194 hr, .catalog-product-view .lens_color_state hr.lc_0194,
.squareSelected.lc_0194 {
  background-color: #431604; }

#lens_color_box .color-items .item.lc_0297 hr, .catalog-product-view .lens_color_state hr.lc_0297,
.squareSelected.lc_0297 {
  background-color: #404144; }

#lens_color_box .color-items .item.lc_0294 hr, .catalog-product-view .lens_color_state hr.lc_0294,
.squareSelected.lc_0294 {
  background-color: #404144; }

#lens_color_box .color-items .item.lc_0298 hr, .catalog-product-view .lens_color_state hr.lc_0298,
.squareSelected.lc_0298 {
  background-color: #404144; }

#lens_color_box .color-items .item.lc_0798 hr, .catalog-product-view .lens_color_state hr.lc_0798,
.squareSelected.lc_0798 {
  background-color: #335148; }

#lens_color_box .color-items .item.lc_0995 hr, .catalog-product-view .lens_color_state hr.lc_0995,
.squareSelected.lc_0995 {
  background: #fafcaa;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, #fefeb4 0%, #8c7b0f 50%, #3d3504 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fafcaa', endColorstr='#3b3204', GradientType=1 );
  /* IE6-9 */ }

#lens_color_box .color-items .item.lc_1095 hr, .catalog-product-view .lens_color_state hr.lc_1095,
.squareSelected.lc_1095 {
  background: #dbe6e6;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, #ffffff 0%, #323232 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dbe6e6', endColorstr='#595e5f', GradientType=1 );
  /* IE6-9 */ }

#lens_color_box .color-items .item.lc_1195 hr, .catalog-product-view .lens_color_state hr.lc_1195,
.squareSelected.lc_1195 {
  background: #a5fce4;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, #adfeef 0%, #008182 50%, #00476f 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a5fce4', endColorstr='#008598', GradientType=1 );
  /* IE6-9 */ }

#lens_color_box .color-items .item.lc_0196 hr, .catalog-product-view .lens_color_state hr.lc_0196,
.squareSelected.lc_0196 {
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, #431604 0%, rgba(67, 22, 4, 0.8) 50%, rgba(67, 22, 4, 0.2) 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#431604', endColorstr='#33431604', GradientType=0 );
  /* IE6-9 */ }

#lens_color_box .color-items .item.lc_0296 hr, .catalog-product-view .lens_color_state hr.lc_0296,
.squareSelected.lc_0296 {
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, #404144 0%, rgba(64, 65, 68, 0.8) 50%, rgba(64, 65, 68, 0.2) 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#404144', endColorstr='#33404144', GradientType=0 );
  /* IE6-9 */ }

#lens_color_box .color-items .item.lc_0796 hr, .catalog-product-view .lens_color_state hr.lc_0796,
.squareSelected.lc_0796 {
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, #335148 0%, rgba(51, 81, 72, 0.8) 50%, rgba(51, 81, 72, 0.2) 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#335148', endColorstr='#33335148', GradientType=0 );
  /* IE6-9 */ }

#lens_color_box .color-items .item.lc_1295 hr, .catalog-product-view .lens_color_state hr.lc_1295,
.squareSelected.lc_1295 {
  background: #60dae2;
  /* Old browsers */
  /* FF3.6+ */
  /* Chrome,Safari4+ */
  /* Chrome10+,Safari5.1+ */
  /* Opera 11.10+ */
  /* IE10+ */
  background: linear-gradient(to bottom, #47b4d0 0%, #205592 50%, #14256f 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#60dae2', endColorstr='#60dae2', GradientType=1 ); }

#lens_color_box .color-items .item.lc_1395 hr, .catalog-product-view .lens_color_state hr.lc_1395,
.squareSelected.lc_1395 {
  background: #ff9c07;
  background: linear-gradient(to bottom, #f79f9f 0%, #b74b4b 50%, #7b2222 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff9c07', endColorstr='#ff0404', GradientType=1); }

#lens-tinting-degraded .color-items .item.lc_0198 hr,
.squareSelected.lc_0198 {
  background: #431604;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #431604 0%, #431604 9%, #2b2b2b 24%, #111111 40%, #000000 49%, #2c2c2c 50%, #474747 61%, #666666 75%, #595959 88%, #333333 97%, #878787 99%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#431604', endColorstr='#878787',GradientType=0 ); }

#lens-tinting-degraded .color-items .item.lc_0298 hr,
.squareSelected.lc_0198 {
  background: #404144;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #404144 0%, #431604 9%, #2b2b2b 24%, #111111 40%, #000000 49%, #2c2c2c 50%, #474747 61%, #666666 75%, #595959 88%, #333333 97%, #878787 99%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#404144', endColorstr='#878787',GradientType=0 ); }

#lens-tinting-degraded .color-items .item.lc_0798 hr,
.squareSelected.lc_0798 {
  background: #335148;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #335148 0%, #431604 9%, #2b2b2b 24%, #111111 40%, #000000 49%, #2c2c2c 50%, #474747 61%, #666666 75%, #595959 88%, #333333 97%, #878787 99%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#335148', endColorstr='#878787',GradientType=0 ); }

body.index160 .hideForIndex160 {
  display: none !important;
  visibility: hidden; }

body.index160 .showForIndex160 {
  display: block !important;
  visibility: visible; }

body.index167 .hideForIndex167 {
  display: none !important;
  visibility: hidden; }

body.index167 .showForIndex167 {
  display: block !important;
  visibility: visible; }

body.index174 .hideForIndex174 {
  display: none !important;
  visibility: hidden; }

body.index174 .showForIndex174 {
  display: block !important;
  visibility: visible; }

body.isrefinement_seiko_singleVision .hideIsRefinement_seiko_singleVision {
  display: none !important; }

#lens-tinting-notinting {
  text-align: center; }
  @media print, screen and (min-width: 64em) {
    #lens-tinting-notinting {
      text-align: left; } }
  #lens-tinting-notinting .tabs-title {
    height: 120px;
    max-width: 140px !important; }
  #lens-tinting-notinting hr {
    border: 1px solid green !important; }
  #lens-tinting-notinting .tabBullets {
    left: 1px !important; }

#lens-tinting-degraded > div.grid-x,
#lens-tinting-colored > div.grid-x,
#lens-tinting-mirror > div.grid-x,
#lens-tinting-photochromic > div.grid-x,
#lens-tinting-polarized > div.grid-x,
#lens-tinting-colored > div.grid-x {
  padding: 0.5rem 0; }

#lens-tinting-degraded .secondColumn,
#lens-tinting-colored .secondColumn,
#lens-tinting-mirror .secondColumn,
#lens-tinting-photochromic .secondColumn,
#lens-tinting-polarized .secondColumn,
#lens-tinting-colored .secondColumn {
  display: none; }
  @media print, screen and (min-width: 64em) {
    #lens-tinting-degraded .secondColumn,
    #lens-tinting-colored .secondColumn,
    #lens-tinting-mirror .secondColumn,
    #lens-tinting-photochromic .secondColumn,
    #lens-tinting-polarized .secondColumn,
    #lens-tinting-colored .secondColumn {
      display: block; } }

#lens-tinting-polarized h5, #lens-tinting-polarized h6, #lens-tinting-polarized p,
#lens-tinting-mirror h5,
#lens-tinting-mirror h6,
#lens-tinting-mirror p,
#lens-tinting-photochromic h5,
#lens-tinting-photochromic h6,
#lens-tinting-photochromic p,
#lens-tinting-degraded h5,
#lens-tinting-degraded h6,
#lens-tinting-degraded p,
#lens-tinting-degraded h5,
#lens-tinting-degraded h6,
#lens-tinting-degraded p,
#lens-tinting-colored h5,
#lens-tinting-colored h6,
#lens-tinting-colored p {
  text-align: center; }

#lens_color_box {
  /*disabled options*/ }
  #lens_color_box .item.disabled {
    opacity: 1; }
  #lens_color_box .item.disabled:before {
    opacity: 1;
    font-family: "icomoon";
    color: red;
    font-size: 1.125rem;
    font-weight: bold;
    content: "\f05e";
    cursor: not-allowed;
    height: 0;
    width: 0;
    position: relative;
    z-index: 5;
    overflow: visible;
    float: left;
    left: 9px;
    top: 4px; }
  #lens_color_box #lens-tinting-tabs .tabs-title {
    background-color: #FFFFFF;
    border-radius: 5px 5px 0px 0px;
    width: auto;
    border-bottom: none;
    margin-bottom: -1px; }
    @media screen and (max-width: 63.99875em) {
      #lens_color_box #lens-tinting-tabs .tabs-title {
        width: 100%; } }
    @media print, screen and (min-width: 64em) {
      #lens_color_box #lens-tinting-tabs .tabs-title {
        background-color: #EAEAEA;
        margin-bottom: 0; } }
    @media screen and (max-width: 63.99875em) {
      #lens_color_box #lens-tinting-tabs .tabs-title:not(:first-child) {
        border-radius: 0; } }
    #lens_color_box #lens-tinting-tabs .tabs-title a:not(span.tab-title-heading) {
      color: #000;
      box-shadow: inset 0 -1px rgba(0, 0, 0, 0.2), inset 0 1px rgba(255, 255, 255, 0.05);
      font-size: 12px;
      font-weight: 600;
      text-align: left; }
      #lens_color_box #lens-tinting-tabs .tabs-title a:not(span.tab-title-heading):hover {
        background: #FFFFFF; }
      @media print, screen and (min-width: 64em) {
        #lens_color_box #lens-tinting-tabs .tabs-title a:not(span.tab-title-heading) {
          box-shadow: none;
          border: none; } }
    #lens_color_box #lens-tinting-tabs .tabs-title > .accordion-title::before,
    #lens_color_box #lens-tinting-tabs .tabs-title > .accordion-title::after {
      display: inline; }
      @media print, screen and (min-width: 64em) {
        #lens_color_box #lens-tinting-tabs .tabs-title > .accordion-title::before,
        #lens_color_box #lens-tinting-tabs .tabs-title > .accordion-title::after {
          display: none; } }
  #lens_color_box #lens-tinting-tabs .tabs-title.is-active {
    border-radius: 5px 5px 0px 0px; }
    #lens_color_box #lens-tinting-tabs .tabs-title.is-active a {
      background: #FFFFFF; }
      @media print, screen and (min-width: 64em) {
        #lens_color_box #lens-tinting-tabs .tabs-title.is-active a {
          background: #FFFFFF; } }
      @media print, screen and (min-width: 64em) {
        #lens_color_box #lens-tinting-tabs .tabs-title.is-active a span {
          border: 0.125rem solid #3D70B2;
          padding: 0.0625rem 0.125rem; } }

span.link-border {
  text-transform: uppercase; }

#lens-tinting-colored .lens_color > div {
  padding: 0 10px 10px; }
  @media print, screen and (min-width: 40em) {
    #lens-tinting-colored .lens_color > div {
      padding: 0; } }

#lens-tinting-colored .secondColumn {
  padding: 0px 0 10px 0;
  text-align: center; }
  @media screen and (max-width: 39.99875em) {
    #lens-tinting-colored .secondColumn {
      border-top: #ebebeb 2px solid; } }
  @media print, screen and (min-width: 64em) {
    #lens-tinting-colored .secondColumn {
      border-top: none;
      padding: 0; } }
  @media print, screen and (min-width: 64em) {
    #lens-tinting-colored .secondColumn > div {
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 75em) {
    #lens-tinting-colored .secondColumn > div {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }

#lens-tinting-colored .color-items .headline {
  min-width: 64px; }
  @media screen and (min-width: 40em) {
    #lens-tinting-colored .color-items .headline {
      min-width: 80px; } }

#lens-tinting-mirror .secondColumn,
#lens-tinting-degraded .secondColumn,
#lens-tinting-colored .secondColumn {
  width: 300px;
  text-align: center; }

#lens-tinting-degraded #degradierAni,
#lens-tinting-mirror .mirrorimage,
#lens-tinting-polarized .testing-polarized {
  text-align: center;
  display: none; }
  @media print, screen and (min-width: 64em) {
    #lens-tinting-degraded #degradierAni,
    #lens-tinting-mirror .mirrorimage,
    #lens-tinting-polarized .testing-polarized {
      display: initial; } }

[class^="icon-"], [class*=" icon-"] {
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#lens-tinting-photochromic #LENSCOLOR_SUNMOTION,
#lens-tinting-photochromic #LENSCOLOR_TRANSITIONSIGNATURE {
  border-bottom: 1px #ccc solid;
  margin-bottom: 1rem;
  padding-bottom: 0.4rem; }
  @media print, screen and (min-width: 64em) {
    #lens-tinting-photochromic #LENSCOLOR_SUNMOTION,
    #lens-tinting-photochromic #LENSCOLOR_TRANSITIONSIGNATURE {
      padding-bottom: 0; } }

#lens-tinting-photochromic .secondColumn {
  width: 300px; }

#lens-tinting-photochromic .item hr {
  height: 26px !important; }

#LENSCOLOR_SUNMOTION ul,
#LENSCOLOR_TRANSITIONSIGNATURE ul,
#LENSCOLOR_TRANSITIONXTRACTIVE ul {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  #LENSCOLOR_SUNMOTION ul li,
  #LENSCOLOR_TRANSITIONSIGNATURE ul li,
  #LENSCOLOR_TRANSITIONXTRACTIVE ul li {
    font-size: 13px;
    font-weight: 600;
    margin-right: 20px; }

#LENSCOLOR_SUNMOTION .callout.primary p,
#LENSCOLOR_TRANSITIONSIGNATURE .callout.primary p,
#LENSCOLOR_TRANSITIONXTRACTIVE .callout.primary p {
  text-align: justify; }

#LENSCOLOR_SUNMOTION .content-brand,
#LENSCOLOR_TRANSITIONSIGNATURE .content-brand,
#LENSCOLOR_TRANSITIONXTRACTIVE .content-brand {
  width: 100%;
  text-align: center;
  margin: 1rem 0rem;
  padding-top: 0; }
  @media print, screen and (min-width: 40em) {
    #LENSCOLOR_SUNMOTION .content-brand,
    #LENSCOLOR_TRANSITIONSIGNATURE .content-brand,
    #LENSCOLOR_TRANSITIONXTRACTIVE .content-brand {
      width: auto;
      padding-top: 1.5rem; } }

#LENSCOLOR_SUNMOTION .brand {
  position: relative;
  width: 140px;
  height: 55px;
  display: inline-block;
  background: url(../img/glasses/lenscolors/logo/logos_transition.png) -2px -2px no-repeat;
  background-size: 100%;
  box-sizing: border-box;
  cursor: default;
  vertical-align: top; }
  #LENSCOLOR_SUNMOTION .brand .infoLink {
    right: 5px;
    top: 5px; }

#LENSCOLOR_TRANSITIONSIGNATURE .brand {
  position: relative;
  width: 140px;
  height: 55px;
  display: inline-block;
  background: url(../img/glasses/lenscolors/logo/logos_premium.png) 0px 0px no-repeat;
  background-size: 100%;
  box-sizing: border-box;
  cursor: default;
  vertical-align: top; }
  #LENSCOLOR_TRANSITIONSIGNATURE .brand .infoLink {
    top: 0px;
    right: 0px; }

#LENSCOLOR_TRANSITIONXTRACTIVE .brand {
  position: relative;
  width: 140px;
  height: 55px;
  display: inline-block;
  background: url(../img/glasses/lenscolors/logo/logos_xtractive.png) 17px 17px no-repeat;
  background-size: 100%;
  box-sizing: border-box;
  cursor: default;
  vertical-align: top;
  background-size: 75%; }
  #LENSCOLOR_TRANSITIONXTRACTIVE .brand .infoLink {
    right: 0px;
    top: 10px; }

.brand .infoLink {
  position: absolute;
  z-index: 2;
  display: inline-block;
  float: right; }
  .brand .infoLink::before {
    display: inline-block;
    width: 11px;
    height: 11px;
    color: #ddd;
    text-shadow: none;
    font-family: "icomoon";
    font-size: 12px;
    content: "\f059";
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.mirrorimage {
  width: 298px;
  height: 180px;
  background: url(../img/glasses/lenscolors/mirror/sample-mirror-gold.jpg) 0px center; }
  .mirrorimage > div.mirror-0995 {
    position: relative;
    width: 100%;
    height: 180px;
    background: url(../img/glasses/lenscolors/mirror/sample-mirror-gold.jpg) 0px center; }
  .mirrorimage > div.mirror-1095 {
    position: relative;
    width: 100%;
    height: 180px;
    background: url(../img/glasses/lenscolors/mirror/sample-mirror-silver.jpg) 0px center; }
  .mirrorimage > div.mirror-1195 {
    position: relative;
    width: 100%;
    height: 180px;
    background: url(../img/glasses/lenscolors/mirror/sample-mirror-green.jpg) 0px center; }
  .mirrorimage > div.mirror-1295 {
    position: relative;
    width: 100%;
    height: 180px;
    background: url(../img/glasses/lenscolors/mirror/sample-mirror-blue.jpg) 0px center; }
  .mirrorimage > div.mirror-1395 {
    position: relative;
    width: 100%;
    height: 180px;
    background: url(../img/glasses/lenscolors/mirror/sample-mirror-red.jpg) 0px center; }

.tabs-polarized {
  width: 297px; }
  .tabs-polarized #collapsing-tabs {
    border-radius: 3px; }
    .tabs-polarized #collapsing-tabs li {
      background-color: #444; }
      .tabs-polarized #collapsing-tabs li a:hover, .tabs-polarized #collapsing-tabs li a:focus, .tabs-polarized #collapsing-tabs li a[aria-selected="true"] {
        background-color: #ee4113;
        color: #FFFFFF; }
      .tabs-polarized #collapsing-tabs li a {
        font-size: 12px;
        font-weight: 600;
        color: #FFFFFF !important; }
    .tabs-polarized #collapsing-tabs li:first-child {
      width: 142px; }
  .tabs-polarized .tabs-content {
    padding: 0 !important; }

#transitionAni .slider {
  background-color: #FFFFFF;
  margin-bottom: 0; }

.ui-slider-handle {
  position: absolute;
  cursor: pointer;
  height: 32px;
  border: 1px solid #999;
  width: 48px;
  margin: -10px 0 0 -24px;
  background: #fff;
  cursor: pointer;
  transition: width 100ms ease-in-out, margin 100ms ease-in-out; }

.ui-slider-handle::before {
  position: relative;
  content: '<<';
  color: #999;
  font-size: 13px;
  left: -3px;
  top: 2px;
  transition: left 100ms ease-in-out, color 100ms ease-in-out; }

.ui-slider-handle::after {
  position: relative;
  content: '>>';
  color: #999;
  font-size: 13px;
  right: -3px;
  top: 2px;
  transition: right 100ms ease-in-out, color 100ms ease-in-out; }

.ui-slider-horizontal {
  position: relative;
  height: 14px;
  border: 1px solid #999; }

#lens_color_box .color-items .jss-lensesCard {
  width: 100%;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #lens_color_box .color-items .jss-lensesCard .tabs-title {
    min-width: 80px;
    max-width: 115px; }
    @media print, screen and (min-width: 64em) {
      #lens_color_box .color-items .jss-lensesCard .tabs-title {
        max-width: 140px; } }
  #lens_color_box .color-items .jss-lensesCard .cell {
    padding: 0;
    margin: 0;
    text-align: center; }
    #lens_color_box .color-items .jss-lensesCard .cell:first-child, #lens_color_box .color-items .jss-lensesCard .cell:nth-child(2) {
      padding: 0.3rem 0;
      padding-bottom: 0; }
  #lens_color_box .color-items .jss-lensesCard .tab-title-heading {
    float: none;
    text-align: center;
    font-weight: bold;
    font-size: 1rem; }
  #lens_color_box .color-items .jss-lensesCard .item {
    float: none;
    margin: 0.5rem auto; }
  #lens_color_box .color-items .jss-lensesCard .price-box {
    padding: 0.9375rem 0;
    background: #FBFBFB; }
    #lens_color_box .color-items .jss-lensesCard .price-box .regularPrice {
      margin: 0 0.25rem; }

#lens_color_box .buttonSave {
  margin: 0 auto; }

#lens_color_box .accordion-content span, #lens_color_box .accordion-content p, #lens_color_box .accordion-content h1, #lens_color_box .accordion-content h2, #lens_color_box .accordion-content h3, #lens_color_box .accordion-content h4, #lens_color_box .accordion-content .cards_block .grid-x .cell .card .card-section .title, .cards_block .grid-x .cell .card .card-section #lens_color_box .accordion-content .title, #lens_color_box .accordion-content .checkout_summary .accordion > .accordion-title, .checkout_summary #lens_color_box .accordion-content .accordion > .accordion-title, #lens_color_box .accordion-content h5, #lens_color_box .accordion-content h6 {
  font-family: "Open Sans", Helvetica Neue, Helvetica, Arial, sans-serif; }

#lens-tinting-colored .lensesCard {
  width: 100%;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #lens-tinting-colored .lensesCard .tabs-title {
    max-width: 114px; }
    @media print, screen and (min-width: 64em) {
      #lens-tinting-colored .lensesCard .tabs-title {
        max-width: 137px;
        min-width: 130px; } }
  #lens-tinting-colored .lensesCard #tabTargetGold-label > .grid-x {
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  #lens-tinting-colored .lensesCard .cell {
    padding: 0;
    margin: 0;
    text-align: center; }
    #lens-tinting-colored .lensesCard .cell:first-child, #lens-tinting-colored .lensesCard .cell:nth-child(2) {
      padding: 0.3rem 0; }
  #lens-tinting-colored .lensesCard .cell:not(:first-child) {
    max-width: 50px;
    -webkit-flex: 1 0 content;
        -ms-flex: 1 0 content;
            flex: 1 0 content; }
    #lens-tinting-colored .lensesCard .cell:not(:first-child) span {
      font-size: 12px; }
  #lens-tinting-colored .lensesCard .item {
    float: none;
    margin: 0.5rem auto; }
  #lens-tinting-colored .lensesCard a {
    padding-bottom: 1rem; }

/*This block fixed the problem of the radiobuttons cards on lenses color to mobile advices*/
#product-container #lens_color_box .product-option-tabs .accordion-item.is-active li.tabs-title:not(.is-active) .tabBullets span.icon-circle-thin {
  display: inline; }

#product-container #lens_color_box .product-option-tabs .accordion-item.is-active li.tabs-title:not(.is-active) .tabBullets span.icon-dot-circle-o {
  display: none; }

#product-container #lens_color_box .product-option-tabs:not(.accordion-item).tabs-title.is-active .tabBullets span.icon-circle-thin, #product-container #lens_color_box .product-option-tabs:not(.accordion-item).tabs-title.enabled:hover .tabBullets span.icon-circle-thin,
#product-container #lens_color_box .product-option-tabs .tabs-title.is-active li.tabs-title.is-active .tabBullets span.icon-circle-thin,
#product-container #lens_color_box .product-option-tabs .tabs-panel.is-active li.tabs-title.is-active .tabBullets span.icon-circle-thin {
  display: none; }

#product-container #lens_color_box .product-option-tabs:not(.accordion-item).tabs-title.is-active .tabBullets span.icon-dot-circle-o, #product-container #lens_color_box .product-option-tabs:not(.accordion-item).tabs-title.enabled:hover .tabBullets span.icon-dot-circle-o,
#product-container #lens_color_box .product-option-tabs .tabs-title.is-active li.tabs-title.is-active .tabBullets span.icon-dot-circle-o,
#product-container #lens_color_box .product-option-tabs .tabs-panel.is-active li.tabs-title.is-active .tabBullets span.icon-dot-circle-o {
  display: inline; }

#product-container #lens_color_box .product-option-tabs:not(.accordion-item).tabs-title.is-active .tabBullets span.icon-dot-circle-o:before, #product-container #lens_color_box .product-option-tabs:not(.accordion-item).tabs-title.enabled:hover .tabBullets span.icon-dot-circle-o:before,
#product-container #lens_color_box .product-option-tabs .tabs-title.is-active li.tabs-title.is-active .tabBullets span.icon-dot-circle-o:before,
#product-container #lens_color_box .product-option-tabs .tabs-panel.is-active li.tabs-title.is-active .tabBullets span.icon-dot-circle-o:before {
  color: green;
  margin: 0 auto;
  -webkit-animation-name: tabBulletsActive;
          animation-name: tabBulletsActive;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-delay: 0;
          animation-delay: 0;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-iteration-count: initial;
          animation-iteration-count: initial;
  opacity: 1; }

@keyframes tabBulletsActive {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

#product-container #lens_color_box .product-option-tabs .tabBullets {
  position: absolute;
  padding: 0.2rem 0rem 0rem 0.2rem;
  left: 5px; }

/*End block*/
#lens-tinting-colored .item:not(.disabled):hover, #lens-tinting-colored .item:not(.disabled).is-active {
  cursor: pointer; }

#lens-tinting-colored .item:not(.disabled).is-active:after {
  font-family: "icomoon";
  content: "\f00c";
  color: white;
  font-size: 1.5rem px;
  font-weight: bold;
  position: absolute;
  left: 8px;
  top: 4px;
  z-index: 1;
  -webkit-text-stroke: 0.5px black; }

.squareSelected {
  display: inline-block;
  float: left;
  margin-right: 1rem;
  width: 30px;
  height: 25px;
  border-radius: 4px;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 1px inset, rgba(255, 255, 255, 0.25) 0px 2px 1px 0px inset, rgba(0, 0, 0, 0.25) 0px -1px 6px 0px inset, 0 1px 1px rgba(0, 0, 0, 0.15); }

@media screen and (max-width: 39.99875em) {
  #newRating {
    height: initial;
    min-height: initial;
    margin-left: initial;
    margin: auto; } }

#newRating a.close-reveal-modal {
  position: absolute;
  top: 0px;
  right: 20px;
  font-size: 2rem;
  color: #152935; }

.category-content .link-image {
  display: inline-block;
  height: 200px; }

.category-content .page-header {
  margin-bottom: 0; }

.category-content .category-container .ajaxLoaderGrey {
  opacity: 0.8;
  -webkit-animation: scaleToGrey 1s;
          animation: scaleToGrey 1s;
  background-color: #e0e0e0;
  position: absolute;
  height: 100%;
  width: 100%; }

.category-content .category-container .ajaxLoaderCircle {
  position: absolute;
  left: 50%; }

.category-content .category-container .ajaxLoaderCircle:before {
  left: calc(50% - 120px);
  top: 6.25rem;
  position: absolute;
  font-family: icomoon;
  content: "\e982";
  font-size: 15rem;
  -webkit-animation: spin 4s linear infinite;
  animation: spin 4s linear infinite; }

@-webkit-keyframes spin {
  100% {
    -webkit-transform: rotate(360deg); } }

@keyframes spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* =================================================
   CART pages / CART EMPTY pages
   ================================================= */
body.cart {
  background-color: #ffffff; }

#cart-container h2 a {
  color: #152935; }

#cart-container h2.title-product-cart {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: normal; }
  #cart-container h2.title-product-cart:before {
    display: none !important; }

#cart-container .cart-item-container {
  margin: 0 0 50px; }
  #cart-container .cart-item-container .product-image {
    padding: 0; }
  #cart-container .cart-item-container .amount-pill,
  #cart-container .cart-item-container .remove-item {
    display: inline-block; }

@media screen and (max-width: 63.99875em) {
  #cart-container .grand-total-cell {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    margin: 0;
    width: 100%; } }

#cart-container .grand-total-cell .grand-total-container {
  margin: 0;
  position: -webkit-sticky;
  position: sticky;
  bottom: 0; }
  @media screen and (max-width: 63.99875em) {
    #cart-container .grand-total-cell .grand-total-container {
      margin: 0; } }
  @media screen and (min-width: 64em) {
    #cart-container .grand-total-cell .grand-total-container {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      bottom: 30px;
      margin-bottom: 50px; } }
  #cart-container .grand-total-cell .grand-total-container .accordion-content {
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0; }
    #cart-container .grand-total-cell .grand-total-container .accordion-content .input-group {
      margin: 0; }
  #cart-container .grand-total-cell .grand-total-container .summary table.details {
    margin: 0; }
  #cart-container .grand-total-cell .grand-total-container .summary table tr td {
    padding-top: 0.2rem;
    padding-bottom: 0.2rem; }
  #cart-container .grand-total-cell .grand-total-container .summary .button {
    margin: 0;
    color: #ffffff; }

#cart-container .car-empty {
  padding: 30px; }
  @media screen and (min-width: 40em) {
    #cart-container .car-empty {
      padding: 60px;
      margin-bottom: 25px; } }
  #cart-container .car-empty [class^="icon-"] {
    font-size: 40px; }
    @media screen and (min-width: 40em) {
      #cart-container .car-empty [class^="icon-"] {
        font-size: 50px; } }

#cart-container .box_continue_shopping, #cart-container .box_login, #cart-container .box_contact_us {
  padding: 30px; }
  @media screen and (min-width: 40em) and (max-width: 63.99875em) {
    #cart-container .box_continue_shopping, #cart-container .box_login, #cart-container .box_contact_us {
      padding: 10px; } }

#cart-container .box_login {
  border-top: 1px solid #EAEAEA;
  border-bottom: 1px solid #EAEAEA; }
  @media screen and (min-width: 40em) {
    #cart-container .box_login {
      border: none;
      border-left: 1px solid #EAEAEA;
      border-right: 1px solid #EAEAEA; } }

#cart-container [class^="icon-"] {
  color: #6F7987;
  font-size: 25px; }
  @media screen and (min-width: 40em) {
    #cart-container [class^="icon-"] {
      font-size: 32px; } }

#cart-container .short_menu {
  margin-top: 25px;
  margin-bottom: 25px; }

#cart-container .jse-cart-item-quantity.blocked {
  cursor: not-allowed;
  opacity: 0.4; }

.checkout-steps {
  margin-bottom: 1rem; }
  .checkout-steps .step {
    text-align: center;
    border-right: 1px #152935 solid;
    padding: 0.85em 1em; }
  .checkout-steps:last-child {
    border-right: 0px; }
  .checkout-steps .active-step {
    color: #ffffff;
    background-color: #019BAE; }

#checkout_address_content form {
  width: 100%; }
  #checkout_address_content form #addresses_grid #shipping_cell {
    transition: all .3s;
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  #checkout_address_content form #addresses_grid #billing_cell {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem;
    display: block; }

#checkout_address_content.no-billing-address form #addresses_grid #shipping_cell {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }

#checkout_address_content.no-billing-address form #addresses_grid #billing_cell {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem;
  display: none; }

@media print, screen and (min-width: 40em) {
  #checkout_address_content form #addresses_grid #billing_cell {
    display: block; }
  #checkout_address_content.no-billing-address form #addresses_grid #billing_cell {
    display: none; } }

@media screen and (min-width: 64em) {
  #checkout_address_content form {
    width: 100%;
    transition: all .3s;
    margin: 0 auto;
    overflow: hidden; }
    #checkout_address_content form #addresses_grid {
      position: relative; }
      #checkout_address_content form #addresses_grid #shipping_cell {
        transition: all .3s;
        width: calc(50% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; }
      #checkout_address_content form #addresses_grid #billing_cell {
        transition: all .3s;
        width: calc(50% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        position: absolute;
        right: 0;
        opacity: 1; }
  #checkout_address_content.no-billing-address form {
    width: 50%; }
    #checkout_address_content.no-billing-address form #addresses_grid #shipping_cell {
      transition: all .3s;
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; }
    #checkout_address_content.no-billing-address form #addresses_grid #billing_cell {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      opacity: 0; } }

.checkout_summary .items-list tbody tr:nth-child(even) .thumbnail {
  -webkit-filter: brightness(97%);
          filter: brightness(97%); }

.checkout_summary .items-list .media-object .media-object-section .thumbnail {
  width: 100px;
  box-shadow: none; }
  .checkout_summary .items-list .media-object .media-object-section .thumbnail img {
    max-width: 100%; }

.checkout_summary .callout {
  width: 100%; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCJiYXNlL19mb250cy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19mYWRlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fem9vbS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdW5kZWQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXJlZC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2VwYXJhdG9yLnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19vdmVyZmxvdy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Rpc3BsYXkuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCJiYXNlL19pY29ucy5zY3NzIiwiYmFzZS9fYnV0dG9uLnNjc3MiLCJiYXNlL19mcmFtZS1jb2xvci5zY3NzIiwiYmFzZS9fbWl4aW4uc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJmb3JtL19mb3JtX21hdGVyaWFsLnNjc3MiLCJmb3JtL19mb3JtX21hdGVyaWFsX2lubGluZS5zY3NzIiwibGF5b3V0L2hlYWRlci9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX25hdmlnYXRpb24uc2NzcyIsImxheW91dC9oZWFkZXIvX3RpdGxlLWJhci5zY3NzIiwibGF5b3V0L2hlYWRlci9fdG9wLWJhci5zY3NzIiwibGF5b3V0L2Zvb3Rlci9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX2Z1bm5lbC5zY3NzIiwibGF5b3V0L19oZWxwZXIuc2NzcyIsImNvbXBvbmVudHMvX2xvZ2luLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LWNhcmQuc2NzcyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLXRoZW1lLnNjc3MiLCJjb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwiY29tcG9uZW50cy9fbGFuZ3VhZ2Utc2VsZWN0b3Iuc2NzcyIsImNvbXBvbmVudHMvX2Rlc2NyaXB0aW9uLWJvdHRvbS5zY3NzIiwiY29tcG9uZW50cy9fZmlsdGVyLW5hdi5zY3NzIiwiY29tcG9uZW50cy9fdXNwLWJhbmQuc2NzcyIsImNvbXBvbmVudHMvX3dpc2hsaXN0LnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0LWNvbmZpZ3VyYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX21hZ2VsbGFuX2F1dG8uc2NzcyIsImNvbXBvbmVudHMvX25ha2VkLWFjY29yZGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc2NoZW1hLWdsYXNzZXMuc2NzcyIsImNvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiY29tcG9uZW50cy9fc2l6ZS1jaGFydC5zY3NzIiwiY29tcG9uZW50cy9fYWRkcmVzcy1ib29rLnNjc3MiLCJjb21wb25lbnRzL19sZW5zX3ZhbHVlcy5zY3NzIiwiY29tcG9uZW50cy9fY29va2llLXBvbGljeS5zY3NzIiwiY29tcG9uZW50cy9fdHJ5b24uc2NzcyIsImNvbXBvbmVudHMvX3BkdG9vbC5zY3NzIiwiYmxvY2tzL19jYXJkc19ibG9jay5zY3NzIiwiYmxvY2tzL19mbGV4LWJveGVzLnNjc3MiLCJibG9ja3MvX2hlYWRlcl9kZXNjcmlwdGlvbi5zY3NzIiwiYmxvY2tzL19pbWFnZV93aXRoX2xpbmtzLnNjc3MiLCJibG9ja3MvX2ltYWdlX2Jsb2NrLnNjc3MiLCJibG9ja3MvX2xpbmtfbGlzdC5zY3NzIiwiYmxvY2tzL19uZXdzbGV0dGVyLWJveC5zY3NzIiwiYmxvY2tzL19zbGlkZXIuc2NzcyIsImJsb2Nrcy9fdGl0bGUtYmxvY2suc2NzcyIsInBhZ2VzL19jdXN0b21lci1hY2NvdW50LnNjc3MiLCJwYWdlcy9fY3VzdG9tZXItc2VydmljZS5zY3NzIiwicGFnZXMvcHJvZHVjdHMvX3Byb2R1Y3Quc2NzcyIsInBhZ2VzL3Byb2R1Y3RzL19nbGFzc2VzX2xlbnNjb2xvcnMuc2NzcyIsInBhZ2VzL3Byb2R1Y3RzL19yZXZpZXdzLnNjc3MiLCJwYWdlcy9wcm9kdWN0cy1saXN0aW5nLnNjc3MiLCJwYWdlcy9fY2FydC5zY3NzIiwicGFnZXMvY2hlY2tvdXQvX2NoZWNrb3V0LnNjc3MiLCJwYWdlcy9jaGVja291dC9fYWRkcmVzcy5zY3NzIiwicGFnZXMvY2hlY2tvdXQvX3N1bW1hcnkuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBp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SW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFkSDtNSS9CRSxZQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxZQUFtQixFSmlDcEI7SUFNQztNSW5DQSxpQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0csRUFBQTtFTnVDQztJTXJESjtNSS9CRSxZQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxZQUFtQixFSmlDcEI7SUFNQztNSW5DQSxpQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0csRUFBQTtFTjRDQztJTTFESjtNSS9CRSxZQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxZQUFtQixFSmlDcEI7SUFNQztNSW5DQSxpQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0csRUFBQTtFTjRDQztJTTFESjtNSS9CRSxZQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxZQUFtQixFSmlDcEI7SUFNQztNSW5DQSxpQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDRCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0Esa0NBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0csRUFBQTs7QUE4Q0g7RUM3SU0sd0JBQTZEO0VBQTdELHVCQUE2RCxFRGtKaEU7RU5aQztJTU9KO01DN0lNLHlCQUE2RDtNQUE3RCx3QkFBNkQsRURrSmhFLEVBQUE7O0FBSUQ7RUN0Skksd0JBQTZEO0VBQTdELHVCQUE2RCxFRHdKaEU7RU5sQkM7SU1nQkY7TUN0SkkseUJBQTZEO01BQTdELHdCQUE2RCxFRHdKaEUsRUFBQTs7QUFYSDtFQzdJTSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVENkpoRTtFTnZCQztJTU9KO01DN0lNLHlCQUE2RDtNQUE3RCx3QkFBNkQsRUQ2SmhFLEVBQUE7O0FLL0pIO0VENERFLFlBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxXQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsaUJBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxXQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsV0FEb0QsRUN6RHJEOztBQUZEO0VENERFLGlCQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsaUJBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxhQURvRCxFQ3pEckQ7O0FYc0lHO0VXeElKO0lENERFLFlBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLGFBRG9ELEVDekRyRCxFQUFBOztBWHNJRztFV3hJSjtJRDRERSxZQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsV0FEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsV0FEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxhQURvRCxFQ3pEckQsRUFBQTs7QVgySUc7RVc3SUo7SUQ0REUsWUFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsV0FEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsYUFEb0QsRUN6RHJELEVBQUE7O0FYMklHO0VXN0lKO0lENERFLFlBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLGFBRG9ELEVDekRyRCxFQUFBOztBQUZEO0VENERFLDRCQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsMkJBRGdILEVDekRqSDs7QUFGRDtFRDRERSxpQ0FEZ0gsRUN6RGpIOztBQUZEO0VENERFLDJCQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsMkJBRGdILEVDekRqSDs7QUFGRDtFRDRERSxpQ0FEZ0gsRUN6RGpIOztBQUZEO0VENERFLGlDQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsNkJBRGdILEVDekRqSDs7QVhzSUc7RVd4SUo7SUQ0REUsNkJBRGdILEVDekRqSDtFQUZEO0lENERFLDRCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLDRCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsa0NBRGdILEVDekRqSDtFQUZEO0lENERFLDhCQURnSCxFQ3pEakg7RUFGRDtJRDRERSw2QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSw0QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsOEJBRGdILEVDekRqSCxFQUFBOztBWHNJRztFV3hJSjtJRDRERSw2QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSw0QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsOEJBRGdILEVDekRqSCxFQUFBOztBWDJJRztFVzdJSjtJRDRERSw2QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSw0QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsOEJBRGdILEVDekRqSCxFQUFBOztBWDJJRztFVzdJSjtJRDRERSw2QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSw0QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsOEJBRGdILEVDekRqSCxFQUFBOztBTHlNRztFTWhORSxnQkFBMEI7RUFBMUIsZUFBMEIsRU5rTjNCO0VNL01EO0lBRUksZ0JBQTBCO0lBQTFCLGVBQTBCLEVBRTdCO0VBb0JLO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDO0VaZ0hQO0lZbEhNO01Gc0NSLGdCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsV0FEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixXQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLFdBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7RVpnSFA7SVlsSE07TUZzQ1IsZ0JBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixXQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLFdBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsV0FEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixZQURvRCxFRW5DM0MsRUFBQTtFWnFIUDtJWXZITTtNRnNDUixnQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLFdBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsV0FEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixXQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLFlBRG9ELEVFbkMzQyxFQUFBO0VacUhQO0lZdkhNO01Gc0NSLGdCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsV0FEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixXQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLFdBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7O0FOeUxQO0VNL0tFLGdCQUEwQjtFQUExQixlQUEwQixFTmlMM0I7RU05S0Q7SUFFSSxpQkFBNEI7SUFBNUIsZ0JBQTRCLEVBRS9COztBWitGRDtFTW1FQTtJTWhORSxnQkFBMEI7SUFBMUIsZUFBMEIsRU5rTjNCO0lNL01EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0Fac0lEO0VZM0hNO0lGK0NSLGdCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsWUFEb0QsRUU1QzNDLEVBQUE7O0FaeUhQO0VZbEhNO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7O0FaZ0hQO0VZbEhNO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7O0FacUhQO0VZdkhNO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7O0FacUhQO0VZdkhNO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7O0FaZ0hQO0VNeUVBO0lNL0tFLGdCQUEwQjtJQUExQixlQUEwQixFTmlMM0I7SU05S0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FaK0ZEO0VNbUVBO0lNaE5FLGdCQUEwQjtJQUExQixlQUEwQixFTmtOM0I7SU0vTUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QVpzSUQ7RVkzSE07SUYrQ1IsZ0JBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixZQURvRCxFRTVDM0MsRUFBQTs7QVp5SFA7RVkzSE07SUYrQ1IsZ0JBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixZQURvRCxFRTVDM0MsRUFBQTs7QVp5SFA7RVlsSE07SUZzQ1IsZ0JBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixZQURvRCxFRW5DM0MsRUFBQTs7QVpxSFA7RVl2SE07SUZzQ1IsZ0JBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixZQURvRCxFRW5DM0MsRUFBQTs7QVpxSFA7RVl2SE07SUZzQ1IsZ0JBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixZQURvRCxFRW5DM0MsRUFBQTs7QVpnSFA7RU15RUE7SU0vS0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOaUwzQjtJTTlLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QVpvR0Q7RU04REE7SU1oTkUsZ0JBQTBCO0lBQTFCLGVBQTBCLEVOa04zQjtJTS9NRDtNQUVJLGdCQUEwQjtNQUExQixlQUEwQixFQUU3QixFQUFBOztBWjJJRDtFWWhJTTtJRitDUixnQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFlBRG9ELEVFNUMzQyxFQUFBOztBWjhIUDtFWWhJTTtJRitDUixnQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFlBRG9ELEVFNUMzQyxFQUFBOztBWjhIUDtFWWhJTTtJRitDUixnQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFlBRG9ELEVFNUMzQyxFQUFBOztBWjhIUDtFWXZITTtJRnNDUixnQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFlBRG9ELEVFbkMzQyxFQUFBOztBWnFIUDtFWXZITTtJRnNDUixnQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFlBRG9ELEVFbkMzQyxFQUFBOztBWnFIUDtFTW9FQTtJTS9LRSxnQkFBMEI7SUFBMUIsZUFBMEIsRU5pTDNCO0lNOUtEO01BRUksaUJBQTRCO01BQTVCLGdCQUE0QixFQUUvQixFQUFBOztBWm9HRDtFTThEQTtJTWhORSxnQkFBMEI7SUFBMUIsZUFBMEIsRU5rTjNCO0lNL01EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0FaMklEO0VZaElNO0lGK0NSLGdCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsWUFEb0QsRUU1QzNDLEVBQUE7O0FaOEhQO0VZaElNO0lGK0NSLGdCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsWUFEb0QsRUU1QzNDLEVBQUE7O0FaOEhQO0VZaElNO0lGK0NSLGdCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsWUFEb0QsRUU1QzNDLEVBQUE7O0FaOEhQO0VZaElNO0lGK0NSLGdCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsWUFEb0QsRUU1QzNDLEVBQUE7O0FaOEhQO0VZdkhNO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7O0FacUhQO0VNb0VBO0lNL0tFLGdCQUEwQjtJQUExQixlQUEwQixFTmlMM0I7SU05S0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FOc0xEO0VPaE9GLGdCQUE2QixFUGtPMUI7O0FBRUQ7RU9wT0YsaUNBQTZCLEVQc08xQjs7QUFORDtFT2hPRixzQkFBNkIsRVBrTzFCOztBQUVEO0VPcE9GLHVDQUE2QixFUHNPMUI7O0FBTkQ7RU9oT0YsdUJBQTZCLEVQa08xQjs7QUFFRDtFT3BPRix3Q0FBNkIsRVBzTzFCOztBQU5EO0VPaE9GLGlCQUE2QixFUGtPMUI7O0FBRUQ7RU9wT0Ysa0NBQTZCLEVQc08xQjs7QUFORDtFT2hPRix1QkFBNkIsRVBrTzFCOztBQUVEO0VPcE9GLHdDQUE2QixFUHNPMUI7O0FBTkQ7RU9oT0YsdUJBQTZCLEVQa08xQjs7QUFFRDtFT3BPRix3Q0FBNkIsRVBzTzFCOztBQU5EO0VPaE9GLGlCQUE2QixFUGtPMUI7O0FBRUQ7RU9wT0Ysa0NBQTZCLEVQc08xQjs7QUFORDtFT2hPRix1QkFBNkIsRVBrTzFCOztBQUVEO0VPcE9GLHdDQUE2QixFUHNPMUI7O0FBTkQ7RU9oT0YsdUJBQTZCLEVQa08xQjs7QUFFRDtFT3BPRix3Q0FBNkIsRVBzTzFCOztBQU5EO0VPaE9GLGlCQUE2QixFUGtPMUI7O0FBRUQ7RU9wT0Ysa0NBQTZCLEVQc08xQjs7QUFORDtFT2hPRix1QkFBNkIsRVBrTzFCOztBQUVEO0VPcE9GLHdDQUE2QixFUHNPMUI7O0FBTkQ7RU9oT0YsdUJBQTZCLEVQa08xQjs7QUFFRDtFT3BPRix3Q0FBNkIsRVBzTzFCOztBTjdGRDtFTXVGQTtJT2hPRixnQkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0Ysa0NBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHNCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix3Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsdUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHlDQUE2QixFUHNPMUI7RUFORDtJT2hPRixpQkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YsbUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsdUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHlDQUE2QixFUHNPMUI7RUFORDtJT2hPRixpQkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YsbUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsdUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHlDQUE2QixFUHNPMUI7RUFORDtJT2hPRixpQkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YsbUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsdUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHlDQUE2QixFUHNPMUIsRUFBQTs7QU43RkQ7RU11RkE7SU9oT0YsZ0JBQTZCLEVQa08xQjtFQUVEO0lPcE9GLGtDQUE2QixFUHNPMUI7RUFORDtJT2hPRixzQkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0Ysd0NBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsaUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLG1DQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsaUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLG1DQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsaUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLG1DQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHVCQUE2QixFUGtPMUI7RUFFRDtJT3BPRix5Q0FBNkIsRVBzTzFCLEVBQUE7O0FOeEZEO0VNa0ZBO0lPaE9GLGdCQUE2QixFUGtPMUI7RUFFRDtJT3BPRixrQ0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0Ysc0JBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHdDQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLGlCQUE2QixFUGtPMUI7RUFFRDtJT3BPRixtQ0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsdUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHlDQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLGlCQUE2QixFUGtPMUI7RUFFRDtJT3BPRixtQ0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsdUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHlDQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQjtFQU5EO0lPaE9GLGlCQUE2QixFUGtPMUI7RUFFRDtJT3BPRixtQ0FBNkIsRVBzTzFCO0VBTkQ7SU9oT0YsdUJBQTZCLEVQa08xQjtFQUVEO0lPcE9GLHlDQUE2QixFUHNPMUI7RUFORDtJT2hPRix1QkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0YseUNBQTZCLEVQc08xQixFQUFBOztBTnhGRDtFTWtGQTtJT2hPRixnQkFBNkIsRVBrTzFCO0VBRUQ7SU9wT0Ysa0NBQTZCLEVQc08xQjtFQU5EO0lPaE9GLHNC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RztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSw0QkFEZ0gsRUpzQy9HO0VBRkQ7SUluQ0Esa0NBRGdILEVKc0MvRztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSw0QkFEZ0gsRUpzQy9HO0VBRkQ7SUluQ0Esa0NBRGdILEVKc0MvRztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSw0QkFEZ0gsRUpzQy9HO0VBRkQ7SUluQ0Esa0NBRGdILEVKc0MvRztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSw2QkFEZ0gsRUpzQy9HO0VOdUNDO0lNckRKO01JL0JFLGFBQW1CLEVKaUNwQjtJQUVEO01JL0JFLGFBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsOEJBRGdILEVKc0MvRztJQWRIO01JL0JFLGFBQW1CLEVKaUNwQjtJQUVEO01JL0JFLGFBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsOEJBRGdILEVKc0MvRyxFQUFBO0VOdUNDO0lNckRKO01JL0JFLGFBQW1CLEVKaUNwQjtJQUVEO01JL0JFLGFBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsOEJBRGdILEVKc0MvRyxFQUFBO0VONENDO0lNMURKO01JL0JFLGFBQW1CLEVKaUNwQjtJQUVEO01JL0JFLGFBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsNkJBRGdILEVKc0MvRztJQUZEO01JbkNBLG1DQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsOEJBRGdILEVKc0MvRyxFQUFBO0VONENDO0lNMURKO01JL0JFLGFBQW1CLEVKaUNwQjtJQUVEO01JL0JFLGFBQW1CLEVKaUNwQjtJQU1DO01JbkNBLGtDQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FE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RCxFRHNHOUQ7RU51QkM7SU03Qko7TUkxREUsOEJBRDRFO01IckMxRSxzQkFBNkQ7TUFBN0QseUJBQTZELEVENkcxRCxFQUFBO0VBckNQO0lJL0JFLGFBQW1CLEVKaUNwQjtFQUVEO0lJL0JFLGFBQW1CLEVKaUNwQjtFQU1DO0lJbkNBLGlDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSxrQ0FEZ0gsRUpzQy9HO0VBRkQ7SUluQ0EsNEJBRGdILEVKc0MvRztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSxrQ0FEZ0gsRUpzQy9HO0VBRkQ7SUluQ0EsNEJBRGdILEVKc0MvRztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSxrQ0FEZ0gsRUpzQy9HO0VBRkQ7SUluQ0EsNEJBRGdILEVKc0MvRztFQUZEO0lJbkNBLGtDQURnSCxFSnNDL0c7RUFGRDtJSW5DQSxrQ0FEZ0gsRUpzQy9HO0VBRkQ7SUluQ0EsNkJBRGdILEVKc0MvRztFTnVDQztJTXJESjtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0c7SUFkSDtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0csRUFBQTtFTnVDQztJTXJESjtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0csRUFBQTtFTjRDQztJTTFESjtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0csRUFBQTtFTjRDQztJTTFESjtNSS9CRSxhQUFtQixFSmlDcEI7SUFFRDtNSS9CRSxhQUFtQixFSmlDcEI7SUFNQztNSW5DQSxrQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDZCQURnSCxFSnNDL0c7SUFGRDtNSW5DQSxtQ0FEZ0gsRUpzQy9HO0lBRkQ7TUluQ0EsbUNBRGdILEVKc0MvRztJQUZEO01JbkNBLDhCQURnSCxFSnNDL0csRUFBQTs7QUFtVEQ7RVEvWUksOEJBQW1DLEVSaVp0QztFTjlRQztJTTRRRjtNUS9ZSSwrQkFBbUMsRVJpWnRDLEVBQUE7RU45UUM7SU00UUY7TVEvWUksK0JBQW1DLEVSaVp0QyxFQUFBO0VOelFDO0lNdVFGO01RL1lJLCtCQUFtQyxFUmladEMsRUFBQTtFTnpRQztJTXVRRjtNUS9ZSSwrQkFBbUMsRVJpWnRDLEVBQUE7O0FOOVFDO0VNZ1JBO0lRblpFLCtCQUFtQyxFUnFacEMsRUFBQTs7QU5sUkQ7RU1nUkE7SVFuWkUsK0JBQW1DLEVScVpwQyxFQUFBOztBTjdRRDtFTTJRQTtJUW5aRSwrQkFBbUMsRVJxWnBDLEVBQUE7O0FON1FEO0VNMlFBO0lRblpFLCtCQUFtQyxFUnFacEMsRUFBQTs7QVN6TEw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBUztFQUNULFdBQVUsRUFDWDs7QUFHRDtFQUNFLG9CWHBHMEI7RVdzRzFCLG1CQUFrQjtFQUNsQixpQlh4R3NCO0VXeUd0QixtQ1h2R3lDLEVXd0cxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGtCWDNOcUI7RVc0TnJCLHFCQUFvQixFQUNyQjs7QWJuTkQ7OztFYXVORSxlWDlIaUI7RVcrSGpCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7Ozs7O0VBTUUsdUVYbkswRTtFV29LMUUsbUJYbEtzQjtFV21LdEIsb0JYL095QjtFV2dQekIsZVhsS2tCO0VXbUtsQixtQ1g5SXNDLEVXb0p2QztFQWhCRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFhSSxlQUFjO0lBQ2QsZVhwTmUsRVdxTmhCOztBQVFHO0VBSUksbUJOdlA2QztFTW1RN0MsaUJYL0xXO0VXdU1YLGNBQWE7RUFPYixzQlg3TWlCLEVXK01wQjs7O0FBckdQOztFQXdFVSxrQk52UDZDO0VNbVE3QyxpQlgvTFc7RVdtTVgsb0JOdlE2QztFTWtSN0Msc0JYN01pQixFVytNcEI7O0FBakNEO0VBSUksb0JOdlA2QztFTW1RN0MsaUJYL0xXO0VXbU1YLHNCTnZRNkM7RU1rUjdDLHNCWDdNaUIsRVcrTXBCOzs7QUFuR1A7OztFQXNFVSxvQk52UDZDO0VNbVE3QyxpQlgvTFc7RVd1TVgsY0FBYTtFQU9iLHNCWDdNaUIsRVcrTXBCOztBQWpDRDtFQUlJLGdCTnZQNkM7RU1tUTdDLGlCWC9MVztFV3VNWCxjQUFhO0VBT2Isc0JYN01pQixFVytNcEI7O0FBakNEO0VBSUksb0JOdlA2QztFTW1RN0MsaUJYL0xXO0VXdU1YLGNBQWE7RUFPYixzQlg3TWlCLEVXK01wQjs7QWZ0TUg7RWVxS0U7SUFJSSxnQk52UDZDLEVNb1JoRDs7RUFyR1A7O0lBd0VVLGtCTnZQNkM7SU11UTdDLHFCTnZRNkMsRU1vUmhEO0VBakNEO0lBSUksZ0JOdlA2QztJTXVRN0Msc0JOdlE2QyxFTW9SaEQ7O0VBbkdQOzs7SUFzRVUsa0JOdlA2QyxFTW9SaEQ7RUFqQ0Q7SUFJSSxtQk52UDZDLEVNb1JoRDtFQWpDRDtJQUlJLGdCTnZQNkMsRU1vUmhELEVBQUE7O0FicFRQO0VhMlRFLHFCQUFvQjtFQUNwQixlWHZSYztFV3dSZCxzQlh0THlCO0VXd0x6QixnQkFBZSxFQWFoQjtFQWxCRDtJQVNJLGVYN0wyRCxFV2lNNUQ7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FiOVZIO0VhbVdFLFlBQVc7RUFFWCxtQk5sVHFEO0VNbVRyRCxVQUFTO0VBQ1QscUJYek15QjtFVzJNekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNYbFNpQjtFV21TakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQlhwTzBCO0VXcU8xQiw2QlhsTnlCO0VXbU56QixpQlh2T3NCLEVXd092Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLGtCWDVObUI7RVc2Tm5CLHNCWC9Oa0IsRVdnT25COztBQUdEO0VBQ0Usa0JYbE9tQixFV21PcEI7O0FBR0Q7RUFFSSxxQlh2TzJCO0VXd08zQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQlg3T3lCLEVXbVAxQjtFQVBEO0lBSUksc0JYOU84QjtJVytPOUIsa0JYN1dtQixFVzhXcEI7O0FBSUg7RUFDRSxpQlg3UTBCO0VXOFExQix1Q04xV3FEO0VNMldyRCwrQlhyVmlCLEVXMlZsQjtFQVREO0lBTUksaUJYblJvQjtJV29ScEIsZVh4VmEsRVd5VmQ7O0FBSUg7RUFDRSxlQUFjO0VBQ2QscUJOdFhxRDtFTXVYckQsZVhoV2UsRVdxV2hCO0VBUkQ7SUFNSSxjWGhRNkIsRUFBQTs7QVdxUWpDO0VBQ0Usa0NYeFdrQjtFV3lXbEIsYUFBWTtFQUNaLHNCQUFxQixFQUN0Qjs7QUFHRDtFQUNFLFVBQVMsRUFDVjs7QUFHRDtFQUNFLHNDTjVZcUQ7RU04WXJELDBCWHhYaUI7RVd5WGpCLDBCWDVYZ0I7RVc4WGhCLDZEWC9VbUU7RVdnVm5FLG9CWDdaeUI7RVc4WnpCLGVYM1hrQixFVzRYbkI7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJOcFpTO0VNc1pULDBCWHhZZ0I7RVcwWWhCLDZEWDNWbUU7RVc0Vm5FLGVYdFlrQjtFV3lZaEIsbUJYMWFhLEVXNGFoQjs7QUM1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UXBGLGVmbERXLEVlbURaO0VBOEdEO0lBcEhBLDBCZnZEa0I7SWV3RGxCLGVmOUNhLEVleU1OO0lBekpQO01BQ0UsMEJBUG9GO01BUXBGLGVmbERXLEVlbURaO0VBOEdEO0lBcEhBLDBCZnREaUI7SWV1RGpCLGVmdENvQixFZWlNYjtJQXpKUDtNQUNFLDBCQVBvRjtNQVFwRixlZjFDa0IsRWUyQ25CO0VBOEdEO0lBcEhBLDBCZnJEZ0I7SWVzRGhCLGVmdENvQixFZWlNYjtJQXpKUDtNQUNFLDBCQVBvRjtNQVFwRixlZjFDa0IsRWUyQ25CO0VBOEdEO0lBcEhBLDBCZnBEZ0I7SWVxRGhCLGVmdENvQixFZWlNYjtJQXpKUDtNQUNFLDBCQVBvRjtNQVFwRixlZjFDa0IsRWUyQ25CO0VBOEdEO0lBcEhBLDBCZm5EYztJZW9EZCxlZnRDb0IsRWVpTWI7SUF6SlA7TUFDRSwwQkFQb0Y7TUFRcEYsZWYxQ2tCLEVlMkNuQjtFQThHRDtJQXBIQSwwQmZsRGU7SWVtRGYsZWZ0Q29CLEVlaU1iO0lBekpQO01BQ0UsMEJBUG9GO01BUXBGLGVmMUNrQixFZTJDbkI7RUE4R0Q7SUExREEsY2Y4RzRCO0llN0c1QixvQkFBbUIsRUF3SGhCO0lBdEhIO01BQ0UsMEJmdEhjO01ldUhkLGVmNUdXLEVlNkdaO0lBb0REO01BMURBLGNmOEc0QjtNZTdHNUIsb0JBQW1CLEVBc0haO01BcEhQO1FBQ0UsMEJmdEhjO1FldUhkLGVmNUdXLEVlNkdaO0lBb0REO01BMURBLGNmOEc0QjtNZTdHNUIsb0JBQW1CLEVBc0haO01BcEhQO1FBQ0UsMEJmckhnQjtRZXNIaEIsZWY1R1csRWU2R1o7SUFvREQ7TUExREEsY2Y4RzRCO01lN0c1QixvQkFBbUIsRUFzSFo7TUFwSFA7UUFDRSwwQmZwSGU7UWVxSGYsZWZwR2tCLEVlcUduQjtJQW9ERDtNQTFEQSxjZjhHNEI7TWU3RzVCLG9CQUFtQixFQXNIWjtNQXBIUDtRQUNFLDBCZm5IYztRZW9IZCxlZnBHa0IsRWVxR25CO0lBb0REO01BMURBLGNmOEc0QjtNZTdHNUIsb0JBQW1CLEVBc0haO01B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QWM7RUFDZCx1QkFBc0I7RUFDdEIsWUFBVztFQUNYLGtCQUxzSjtFQU10SixpQlhIdUQ7RVdJdkQsZ0JoQmdYK0I7RWdCOVcvQiwwQmhCYWtCO0VnQlpsQixtQmhCaEJpQjtFZ0JpQmpCLDBCaEJTcUI7RWdCUnJCLG1EaEJlb0I7RWdCYnBCLHFCaEJnV3lCO0VnQi9WekIsZ0JYWnVEO0VXYXZELG9CaEJ4QjJCO0VnQnlCM0IsaUJoQjdCcUI7RWdCOEJyQixlaEJTb0I7RWdCTmxCLDREaEJzVzhEO0VnQmpWOUQseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0IsRUFDakI7RXZCZ3hHRDs7SXVCanlHRSxjQUFhO0lBQ2IsMEJoQkZpQjtJZ0JHakIsMEJoQlRXO0lnQlVYLDRCaEJSa0I7SWdCV2hCLDREaEIyVjRELEVnQnpWL0Q7O0FsQjBGRDtFa0I3RUUsZ0JBQWUsRUFLaEI7RUFORDtJQUlJLGFBQVksRUFDYjs7QUFHSDs7O0VBS0ksMEJoQnRDZ0I7RWdCdUNoQixvQmhCOFQ2QixFZ0I3VDlCOztBdkJpeEdMOztFdUIzd0dJLHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCO0VBQ2hCLG1CaEIxRWUsRWdCMkVoQjs7QUFHRDtFQUNFLHVCQUFzQixFQUN2Qjs7QUFnQkQ7RUFDRSxlaEJyRWdCLEVnQnNFakI7O0FBRkQ7RUFDRSxlaEJyRWdCLEVnQnNFakI7O0FBRkQ7RUFDRSxlaEJyRWdCLEVnQnNFakI7O0F2QjZ2R0g7OztFd0JsNkdJLGlCWjRFcUQsRVkzRXREOztBeEJzNkdIOztFd0JqNkdJLHNCQUFxQjtFQUNyQix5QkFBd0I7RUFFeEIsb0JBQWtEO0VBQ2xELG1CWmtFcUQ7RVlqRXJELGlCQUFnQixFQUtqQjtFeEI4NUdEOztJd0JoNkdJLGdCQUFlLEVBQ2hCOztBQUlIOztFQUVFLHFCQUFtRCxFQUNwRDs7QXhCZzZHSDtFd0I1NUdJLFlBQVcsRUFDWjs7QUNHRDtFQWpCQSxlQUFjO0VBQ2QsVUFBUztFQUVULG9CYjREdUQ7RWEzRHZELG9CbEJnRDJCO0VrQi9DM0IsaUJsQita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QjtJNkJwUnJCLG1CN0JvUnFCO0k2Qm5SckIsa0I3QnNRYTtJNkJuUVgsdUJBQWM7UUFBZCxtQkFBYztZQUFkLGVBQWMsRUFxQmpCO0lBbEJDO01BQ0UsZ0JBQWlDLEVBQ2xDO0VBMElIO0lBTU0sa0I3QjRHTSxFNkIzR1A7RUFQTDtJQU1NLG1CN0I2R1EsRTZCNUdUO0VBUEw7SUFNTSxtQjdCK0dRLEU2QjlHVDtFQTdHTDtJQUVJLHNCQUFhO1FBQWIsa0JBQWE7WUFBYixjQUFhLEVBeUJoQjtFQTJFRDtJZGhEQSwwQmZ4RGdCO0lleURoQixlZjlDYSxFNkJpSE47SWRqRVA7TUFDRSwwQkFQb0Y7TUFRcEYsZWZsRFcsRWVtRFo7RWMwQ0Q7SWRoREEsMEJmdkRrQjtJZXdEbEIsZWY5Q2EsRTZCaUhOO0lkakVQO01BQ0UsMEJBUG9GO01BUXBGLGVmbERXLEVlbURaO0VjMENEO0lkaERBLDBCZnREaUI7SWV1RGpCLGVmdENvQixFNkJ5R2I7SWRqRVA7TUFDRSwwQkFQb0Y7TUFRcEYsZWYxQ2tCLEVlMkNuQjtFYzBDRDtJZGhEQSwwQmZyRGdCO0llc0RoQixlZnRDb0IsRTZCeUdiO0lkakVQO01BQ0UsMEJBUG9GO01BUXBGLGVmMUNrQixFZTJDbkI7RWMwQ0Q7SWRoREEsMEJmcERnQjtJZXFEaEIsZWZ0Q29CLEU2QnlHYjtJZGpFUDtNQUNFLDBCQVBvRjtNQVFwRixlZjFDa0IsRWUyQ25CO0VjMENEO0lkaERBLDBCZm5EYztJZW9EZCxlZnRDb0IsRTZCeUdiO0lkakVQO01BQ0UsMEJBUG9GO01BUXBGLGVmMUNrQixFZTJDbkI7RWMwQ0Q7SWRoREEsMEJmbERlO0llbURmLGVmdENvQixFNkJ5R2I7SWRqRVA7TUFDRSwwQkFQb0Y7TUFRcEYsZWYxQ2tCLEVlMkNuQjtFYzBDRDtJQWxFRSx3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRUF3R2Q7SUFyR0g7TUFFSSx1QkFBYztVQUFkLG1CQUFjO2NBQWQsZUFBYyxFQTBCakI7TUFwQkM7UUFDRSxpQkFBZ0IsRUFDakI7SUFqREg7TUFFSSxzQkFBYTtVQUFi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QkF4RGdCO1VBd0RoQixtQkF4RGdCLEVEa0ZiOztBQU5EO0VDcENGLDZCQXZDa0I7TUF1Q2xCLHdCQXZDa0I7VUF1Q2xCLHFCQXZDa0IsRUQ2RWY7O0FBRUQ7RUN4QkYsNEJBdkRrQjtNQXVEbEIsNkJBdkRrQjtjQXVEbEIsNEJBdkRrQjtVQXVEbEIsb0JBdkRrQixFRGlGZjs7QUFJSDtFQy9DQSxnQ0FuRGtCO01BbURsQixzQkFuRGtCO1VBbURsQix3QkFuRGtCO0VBb0RsQiw0QkF4Q2dCO01Bd0NoQix1QkF4Q2dCO1VBd0NoQixvQkF4Q2dCO0VEd0ZkLDhCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsc0JBQXFCLEVBQ3RCOztBQUtHO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBQUZEO0VDaENKLGlCRCtCZ0I7TUMvQmhCLGtCRCtCZ0I7VUMvQmhCLFNEK0JnQixFQUdYOztBNURzREQ7RTREeERBO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWCxFQUFBOztBNURzREQ7RTREeERBO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWCxFQUFBOztBNUQyREQ7RTREN0RBO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWCxFQUFBOztBNUQyREQ7RTREN0RBO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlC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QUF1QztFQUF2QywyREFBdUM7RUFHekMsb0NBQTJCO1VBQTNCLDRCQUEyQixFSlQxQjs7QUFVRDtFR29CQSxxQ0FGeUI7TUFFekIsaUNBRnlCO1VBRXpCLDZCQUZ5QixFSGhCeEI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUlFbEMsNkJBQTRCLEVMQTNCOztBQVVEO0VHb0JBLFdGaENxQyxFRGNwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFSUNsQyw2QkFBNEIsRUxBM0I7O0FBVUQ7RUdvQkEsV0YvQnFDLEVEYXBDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHckNtQztVSHFDbkMsK0NHckNtQztFSHFDbkMsOEJGNUJtRDtNRTRCbkQsMEJGNUJtRDtVRTRCbkQsc0JGNUJtRDtFTUlqRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7VUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsZ0NGM0JxRDtNRTJCckQsNEJGM0JxRDtVRTJCckQsd0JGM0JxRDtFTUduRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7VUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RHbkNpQztVSG1DakMsOENHbkNpQztFSG1DakMsaUNGMUJzRDtNRTBCdEQsNkJGMUJzRDtVRTBCdEQseUJGMUJzRDtFTUVwRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7VUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFSGtDL0IsK0JGekJvRDtNRXlCcEQsMkJGekJvRDtVRXlCcEQsdUJGekJvRDtFTUNsRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7VUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHckNtQztVSHFDbkMsK0NHckNtQztFSHFDbkMsaUNHRWU7TUhGZiw2QkdFZTtVSEZmLHlCR0VlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQUDVCOztBQVVEO0VHb0JBLG9ER1Q0QztVSFM1Qyw0Q0dUNEM7RUNKMUMsV0FBMkIsRVBMNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxpQ0dFZTtNSEZmLDZCR0VlO1VIRmYseUJHRWU7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBQNUI7O0FBVUQ7RUdvQkEsb0RHVDRDO1VIUzVDLDRDR1Q0QztFQ0oxQyxXQUEyQixFUEw1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1A4QztVSE85Qyw0Q0dQOEM7RUhPOUMsOEJGdEJtRDtNRXNCbkQsMEJGdEJtRDtVRXNCbkQsc0JGdEJtRDtFTUZqRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSxzREcvQjhCO1VIK0I5Qiw4Q0cvQjhCO0VDa0I1QixXQUE4QixFUEwvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1A4QztVSE85Qyw0Q0dQOEM7RUhPOUMsZ0NGckJxRDtNRXFCckQsNEJGckJxRDtVRXFCckQsd0JGckJxRDtFTUhuRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSxzREc5QmdDO1VIOEJoQyw4Q0c5QmdDO0VDaUI5QixXQUE4QixFUEwvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1A4QztVSE85Qyw0Q0dQOEM7RUhPOUMsaUNGcEJzRDtNRW9CdEQsNkJGcEJzRDtVRW9CdEQseUJGcEJzRDtFTUpwRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSx1REc3QnNDO1VINkJ0QywrQ0c3QnNDO0VDZ0JwQyxXQUE4QixFUEwvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1A4QztVSE85Qyw0Q0dQOEM7RUhPOUMsK0JGbkJvRDtNRW1CcEQsMkJGbkJvRDtVRW1CcEQsdUJGbkJvRDtFTUxsRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSx1REc1Qm9DO1VINEJwQywrQ0c1Qm9DO0VDZWxDLFdBQThCLEVQTC9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUDhDO1VITzlDLDRDR1A4QztFSE85QyxpQ0dFZTtNSEZmLDZCR0VlO1VIRmYseUJHRWU7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBQL0I7O0FBVUQ7RUdvQkEsc0RHL0I4QjtVSCtCOUIsOENHL0I4QjtFQ2tCNUIsV0FBOEIsRVBML0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdQOEM7VUhPOUMsNENHUDhDO0VITzlDLGlDR0VlO01IRmYsNkJHRWU7VUhGZix5QkdFZTtFQzFCYixnREFBdUM7RUFB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RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FBa0JEOzt1REFFdUQ7QUFFdkQ7RUFFSSxlQUFjLEVBTWY7RUFSSDtJQUlNLFlBQVc7SUFDWCxzQkFBcUI7SUFDckIsZXRGdnFCZ0IsRXNGd3FCakI7O0FBbGdCTDtFQXlnQkksY0FBYSxFQUNkOztBQUdIOzs7OztFQU1JLGdCQUFlLEVBQ2hCOztBQUdIOzs7Ozs7Ozs7O0VBV0ksZ0JBQWUsRUFDaEI7O0FBR0g7Ozs7Ozs7Ozs7O0VBWUksZ0JBQWUsRUFDaEI7O0FBR0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE2QkksZ0JBQWUsRUFDaEI7O0F6RHJxQkQ7RTBEaE1ELGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsc0NBQTZCO01BQTdCLDBCQUE2QjtVQUE3Qiw4QkFBNkIsRUFJN0I7RUFQRDtJQUtFLGNBQWEsRUFDYjs7QUFHRjtFQUdFLHFDQUFvQztFQUNwQyx3QkFBdUIsRUFDdkI7O0FBTEY7RUFRRSwwQnZGMkZvQjtFdUYxRnBCLGdCQUFlO0VBQ2YsMEJBQXlCLEVBQ3pCOztBeEVpUEE7RXdFOU9BLDBCdkZ3RWU7RXVGdkVmLGV2RjRFYSxFdUZ0RWI7RUFyQkY7SUFrQkcsZXZGb0VjO0l1Rm5FZCxzQnZGbUVjLEV1RmxFZDs7QUFwQkg7RUF1QkUsZUFBYyxFQUNkOztBQUtGO0VBQ0MsaUJBQWdCO0VBQ2hCLHFCQUFvQjtFQUNwQiwwQkFBeUI7RUFDekIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsZ0JBQWU7RUFDZiwwQnZGc0RjLEV1RmpEZDtFQWJEO0lBVUUsZXZGK0NlO0l1RjlDZiwwQnZGOENlLEV1RjdDZjs7QUNsREY7RUFDSSxzQkFBcUI7RUFDckIsWUFBVztFQUNYLGFBQVk7RUFDWixtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLGNBQWEsRUFlaEI7RUFyQkQ7SUFRUSxVQUFTO0lBQ1QsZ0JBQWUsRUFDbEI7RUFWTDtJQWFRLG1EeEZrRlMsRXdGakZaO0VBZEw7SUFpQlEsc0JBQXFCO0lBQ3JCLFlBQVc7SUFDWCxhQUFZLEVBQ2Y7O0FBV0wsaUJBQWlCO0FBWWpCLDBCQUEwQjtBQUkxQixnQkFBZ0I7QUFrQmhCLGlCQUFpQjtBQVdqQixrQkFBa0I7QUFhbEIsd0JBQXdCO0FBSXhCLGtCQUFrQjtBQVFsQix5QkFBeUI7QUFLekIsaUJBQWlCO0FBeUJqQix3QkFBd0I7QUFJeEIsc0JBQXNCO0FBSXRCLGVBQWU7QUFhZixnQkFBZ0I7QUFZaEIsa0JBQWtCO0FBYWxCLGdCQUFnQjtBQW9CaEIsd0JBQXdCO0FBS3hCLGlCQUFpQjtBQWNqQixpQkFBaUI7QUFTakI7RUFBZSxxQ0FBeUMsRUFBSTs7QUFDNUQ7RUFBNkMscUNBQWtDLEVBQUk7O0FBQ25GO0VBQTRCLHFDQUF3QyxFQUFJOztBQUN4RTtFQUEwQixxQ0FBdUMsRUFBSTs7QUFDckU7RUFBd0IscUNBQXNDLEVBQUk7O0FBQ2xFO0VBQTBCLHFDQUF3QyxFQUFJOztBQUN0RTtFQUFnRCxxQ0FBbUMsRUFBSTs7QUFDdkY7RUFBNEIscUNBQXlDLEVBQUk7O0FBQ3pFO0VBQTBCLHFDQUF3QyxFQUFJOztBQUN0RTtFQUFrQyxxQ0FBa0MsRUFBSTs7QUFDeEU7RUFBMEIscUNBQXdDLEVBQUk7O0FBQ3RFO0VBQTBDLHFDQUFpQyxFQUFJOztBQUMvRTtFQUF1QixxQ0FBc0MsRUFBSTs7QUFDakU7RUFBeUIscUNBQXVDLEVBQUk7O0FBQ3BFO0VBQTRCLHFDQUF5QyxFQUFJOztBQUN6RTtFQUEyQixxQ0FBa0MsRUFBSTs7QUFDakU7RUFBMEIscUNBQXVDLEVBQUk7O0FBQ3JFO0VBQXdCLHFDQUFvQyxFQUFJOztBQUNoRTtFQUFTLHFDQUFtQyxFQUFJOztBQUNoRDtFQUFRLHFDQUFrQyxFQUFHOztBQUM3QztFQUFlLHFDQUF5QyxFQUFJOztBQUM1RDtFQUFjLHFDQUF3QyxFQUFJOztBQUMxRDtFQUFtRSxxQ0FBbUMsRUFBSTs7QUFDMUc7RUFBVSxxQ0FBb0MsRUFBSTs7QUFDbEQ7RUFBUyxxQ0FBbUMsRUFBSTs7QUFDaEQ7RUFBYSxxQ0FBdUMsRUFBSTs7QUFDeEQ7RUFBUSxxQ0FBa0MsRUFBSTs7QUFDOUM7RUFBYSxxQ0FBdUMsRUFBSTs7QUFDeEQ7RUFBWSxxQ0FBc0MsRUFBSTs7QUFDdEQ7RUFBUSxxQ0FBa0MsRUFBSTs7QUFDOUM7RUFBVSxxQ0FBb0MsRUFBSTs7QUFDbEQ7RUFBUyxxQ0FBbUMsRUFBSTs7QUFDaEQ7RUFBVyxxQ0FBcUMsRUFBSTs7QUFDcEQ7RUFBVSxxQ0FBb0MsRUFBSTs7QUFDbEQ7RUFBZSxxQ0FBeUMsRUFBSTs7QUFDNUQ7RUFBUyxxQ0FBbUMsRUFBSTs7QUFDaEQ7RUFBWSxxQ0FBc0MsRUFBSTs7QUFDdEQ7RUFBVSxxQ0FBb0MsRUFBSTs7QUFDbEQ7RUFBYyxxQ0FBd0MsRUFBSTs7QUFDMUQ7RUFBVSxxQ0FBb0MsRUFBSTs7QUFDbEQ7RUFBWSxxQ0FBc0MsRUFBSTs7QUFDdEQ7RUFBWSxxQ0FBc0MsRUFBSTs7QUFDdEQ7RUFBUyxxQ0FBbUMsRUFBSTs7QUFDaEQ7RUFBYSxxQ0FBdUMsRUFBSTs7QUFDeEQ7RUFBUyxxQ0FBbUMsRUFBSTs7QUFDaEQ7RUFBVyxxQ0FBcUMsRUFBSTs7QUFDcEQ7RUFBUyxxQ0FBbUMsRUFBSTs7QUFDaEQ7RUFBUSxxQ0FBa0MsRUFBSTs7QUFDOUM7RUFBTyxxQ0FBaUMsRUFBSTs7QUFDNUM7RUFBWSxxQ0FBc0MsRUFBSTs7QUFDdEQ7RUFBUyxxQ0FBbUMsRUFBSTs7QUFDaEQ7RUFBUyxxQ0FBbUMsRUFBSTs7QUFDaEQ7RUFBUyxxQ0FBbUMsRUFBSTs7QUFDaEQ7RUFBbUIscUNBQW9DLEVBQUk7O0FBQzNEO0VBQVkscUNBQXNDLEVBQUk7O0FBQ3REO0VBQVMscUNBQW1DLEVBQUk7O0FBQ2hEO0VBQVMscUNBQW1DLEVBQUk7O0FBQ2hEO0VBQWdCLHFDQUEwQyxFQUFJOztBQUM5RDtFQUFVLHFDQUFvQyxFQUFJOztBQUNsRDtFQUFXLHFDQUFxQyxFQUFJOztBQUNwRDtFQUFRLHFDQUFrQyxFQUFJOztBQUM5QztFQUFTLHFDQUFtQyxFQUFJOztBQUNoRDtFQUFZLHFDQUFzQyxFQUFJOztBQUN0RDtFQUFTLHFDQUFtQyxFQUFJOztBQUNoRDtFQUFTLHFDQUFtQyxFQUFJOztBQUNoRDtFQUFPLHFDQUFpQyxFQUFJOztBQUM1QztFQUFhLHFDQUF1QyxFQUFJOztBQUN4RDtFQUFRLHFDQUFrQyxFQUFJOztBQUM5QztFQUFjLHFDQUF3QyxFQUFJOztBQUMxRDtFQUFZLHFDQUFzQyxFQUFJOztBQUN0RDtFQUFXLHFDQUFxQyxFQUFJOztBQUNwRDtFQUFVLHFDQUFvQyxFQUFJOztBQUNsRDtFQUFhLHFDQUF1QyxFQUFJOztBQUN4RDtFQUFhLHFDQUF1QyxFQUFJOztBQUN4RDtFQUFhLHFDQUF1QyxFQUFJOztBQUN4RDtFQUFnQixxQ0FBMEMsRUFBSTs7QUFDOUQ7RUFBYSxxQ0FBdUMsRUFBSTs7QUFDeEQ7RUFBa0IscUNBQTRDLEVBQUk7O0FBQ2xFO0VBQVUscUNBQW9DLEVBQUk7O0FBQ2xEO0VBQWUscUNBQXlDLEVBQUk7O0FBQzVEO0VBQWUscUNBQXlDLEVBQUk7O0FBQzVEO0VBQWEscUNBQXVDLEVBQUk7O0FBQ3hEO0VBQVEscUNBQWtDLEVBQUk7O0FBQzlDO0VBQVMscUNBQW1DLEVBQUk7O0FBQ2hEO0VBQVEscUNBQWtDLEVBQUk7O0FBQzlDO0VBQVMscUNBQW1DLEVBQUk7O0FBQ2hEO0VBQVEscUNBQWtDLEVBQUk7O0FBQzlDO0VBQVUscUNBQW9DLEVBQUk7O0FBQ2xEO0VBQVksc0VBQW1FLEVBQUk7O0FDL1JuRjtFQUNFO0lBQ0UsV0FBVTtJQUNWLHdDQUErQjtZQUEvQixnQ0FBK0IsRUFBQSxFQUFBOztBQUhuQztFQUNFO0lBQ0UsV0FBVTtJQUNWLHdDQUErQjtZQUEvQixnQ0FBK0IsRUFBQSxFQUFBOztBQ2JuQzs7dURBRXVEO0FBUzdCLGVBQWU7QUFJbEIsZUFBZTtBQUdMLG9CQUFvQjtBQUVyRDs7dURBRXVEO0FBTXZEO0VBQ0ksMEJBQXlCLEVBQzVCOztBQUVEO0VBRVEsYUFBWTtFQUNaLDhCQUE2QixFQUNoQzs7QUFKTDtFQU1RLGlDMUZnRGMsRTBGL0NqQjs7QUFHTDtFQUNJLG1CQUFrQixFQVVyQjtFQVhEO0lBR1EsaUMxRnlDYyxFMEZyQ2pCO0lBUEw7TUFLWSxtQkFBa0IsRUFDckI7RUFOVDtJQVNRLGUxRjRCUyxFMEYzQlo7O0E5Rm1HQztFOEYzRkY7SUFDSSw0QkFBMkIsRUFDOUI7RUFFRDtJQUNJLCtCQUE4QixFQUNqQyxFQUFBOztBQUdMO0VBQ0kscUJBQW9CLEVBQ3ZCOztBQUVEO0VBQ0ksc0JBQXFCLEVBQ3hCOztBQUVEO0VBQ0ksWUFBVyxFQUNkOztBQUNEO0VBQ0ksWUFBVyxFQUNkOztBQUNEO0VBQ0ksYUFBWSxFQUNmOztBQUVEO0VBQ0ksbUJBQWtCLEVBUXJCO0VBVEQ7SUFHUSxnQkFBZTtJQUNmLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1IseUNBQWdDO1FBQWhDLHFDQUFnQztZQUFoQyxpQ0FBZ0M7SUFDaEMsVUFBUyxFQUNaOztBQUdMOzt1REFFdUQ7QUFDdkQ7RUFFUSxnQkFBZTtFQUNmLGVBQWMsRUFDakI7O0E1RHJDSDtFNER1Q00sc0IxRmxDVSxFMEZzQ2I7RUFWTDtJQVFZLGUxRnBDTSxFMEZxQ1Q7O0E1RDFDUDtFNEQ2Q00sc0IxRm5DUSxFMEZ1Q1g7RUFoQkw7SUFjWSxlMUZyQ0ksRTBGc0NQOztBNURoRFA7RTREbURNLHNCMUYxQ1UsRTBGOENiO0VBdEJMO0lBb0JZLGUxRjVDTSxFMEY2Q1Q7O0E1RHREUDtFNER5RE0sc0IxRmpEVSxFMEZxRGI7RUE1Qkw7SUEwQlksZTFGbkRNLEUwRm9EVDs7QUEzQlQ7RUErQlEsaUJBQWdCLEVBQ25COztBQWhDTDtFQW1DUSxvQkFBbUIsRUFDdEI7O0FBR0w7O3VEQUV1RDtBM0V1R3JEO0UyRXBHRSxlMUY3RFcsRTBGOERkOztBQUVEOzt1REFFdUQ7QUFFdkQ7RUFDSSxjQUFhLEVBQ2hCOztBQUVEO0VBQ0ksYUFBWSxFQUNmOztBQUVEO0VBQ0ksd0JBQXVCLEVBSTFCO0VBTEQ7SUFHUSxhQUFZLEVBQ2Y7O0FBR0w7RUFDSSxjQUFhLEVBQ2hCOztBQUVEO0VBRVEsYUFBWSxFQUlmO0VBTkw7SUFJWSxhQUFZLEVBQ2Y7O0FBSVQ7RUFDSSxZQUFXLEVBSWQ7RUFMRDtJQUdRLGFBQVksRUFDZjs7QWpEdEJIO0VpRDBCRSx3QkFBdUIsRUFDMUI7O0FBRUQ7O3VEQUV1RDtBQUV2RDtFQUNJLDBCMUY5R2tCO0UwRmdIbEIseUNBQW9DO0VBQ3BDLGMxRmhKaUI7RTBGaUpqQiwwQjFGcEhXLEUwRnFIZDs7QUFFRDs7dURBRXVEO0FBRXZEO0VBQ0ksaUJBQWdCLEVBQ25COztBQUVEOzt1REFFdUQ7QUFFdkQ7RUFFSSx5QkFBZ0I7RUFBaEIsaUJBQWdCO0VBQ2hCLFVBQVM7RUFDVCxVQUFTO0VBQ1QsZ0JBQWU7RUFDZixvQjFGeklXLEUwRjBJZDs7QUFFRDs7dURBRXVEO0FBRXZEO0VBQ0ksZTFGeklrQjtFMEYwSWxCLGVBQWM7RUFDZCx1Q0FBc0MsRUFDekM7O0FBRUQ7RUFDSSx1REFBc0Q7RUFDdEQsc0JBQXFCO0VBQ3JCLFlBQVc7RUFDWCxhQUFZO0VBQ1osc0JBQXFCO0VBRXJCLHVCQUFzQjtFQUN0QixvQkFBbUIsRUE4QnRCO0VBdENEO0lBWVEsOEJBQTZCLEVBQ2hDO0VBYkw7SUFlUSw2QkFBNEIsRUFDL0I7RUFoQkw7SUFrQlEsOEJBQTZCLEVBQ2hDO0VBbkJMO0lBcUJRLDhCQUE2QixFQUNoQztFQXRCTDtJQXdCUSwrQkFBOEIsRUFDakM7RUF6Qkw7SUEyQlEsOEJBQTZCLEVBQ2hDO0VBNUJMO0lBOEJRLDhCQUE2QixFQUNoQztFQS9CTDtJQWlDUSw4QkFBNkIsRUFDaEM7RUFsQ0w7SUFvQ1EsOEJBQTZCLEVBQ2hDOztBQUlMOzt1REFFdUQ7QUFDdkQ7RUFHWSwwQkFBeUI7RUFDekIsd0JBQXVCO0VBQ3ZCLG9CQUFtQjtFQUNuQixrQkFBaUI7RUFDakIsZTFGbk1TO0UwRm9NVCx5QkFBd0IsRUFFM0I7O0FBSVQ7O3VEQUV1RDtBQUNuRDtFQUNJLHNCQUFxQjtFQUNyQix1QkFBc0I7RUFDdEIsNkJBQTRCLEVBcUMvQjtFQXhDRDtJQU1RLGtEQUFpRDtJQUNqRCxZQUFXO0lBQ1gsYUFBWSxFQUNmO0VBVEw7SUFXUSxzREFBcUQ7SUFDckQsWUFBVztJQUNYLGFBQVksRUFDZjtFQWRMO0lBZ0JRLHVEQUFzRDtJQUN0RCxZQUFXO0lBQ1gsYUFBWSxFQUNmO0VBbkJMO0lBcUJRLDJEQUEwRDtJQUMxRCxZQUFXO0lBQ1gsYUFBWSxFQUNmO0VBeEJMO0lBMEJRLHVEQUFzRDtJQUN0RCxZQUFXO0lBQ1gsYUFBWSxFQUNmO0VBN0JMO0lBK0JRLHFEQUFvRDtJQUNwRCxZQUFXO0lBQ1gsYUFBWSxFQUNmO0VBbENMO0lBb0NRLHdEQUF1RDtJQUN2RCxZQUFXO0lBQ1gsYUFBWSxFQUNmOztBQUdUOzt1REFFdUQ7QUFDdkQ7RUFDSSxlMUY1UWM7RTBGNlFkLGdCQUFlLEVBR2xCOztBQUVEOzt1REFFdUQ7QUFFdkQ7RUFFUSw4QkFBNkI7RUFDN0Isb0JBQW1CO0VBQ25CLGtCQUFpQjtFQUNqQixzQjFGM1JVO0UwRjRSVixlMUZ6UWMsRTBGa1JqQjtFQWZMO0lBV2dCLHNCMUZqU0U7STBGa1NGLGVBQTBCLEVBQzdCO0VBYmI7SUFXZ0Isc0IxRmhTSTtJMEZpU0osZUFBMEIsRUFDN0I7RUFiYjtJQVdnQixzQjFGL1JHO0kwRmdTSCxlQUEwQixFQUM3QjtFQWJiO0lBV2dCLHNCMUY5UkU7STBGK1JGLGVBQTBCLEVBQzdCO0VBYmI7SUFXZ0Isc0IxRjdSRTtJMEY4UkYsZUFBMEIsRUFDN0I7RUFiYjtJQVdnQixzQjFGNVJBO0kwRjZSQSxlQUEwQixFQUM3QjtFQWJiO0lBV2dCLHNCMUYzUkM7STBGNFJELGVBQTBCLEVBQzdCOztBQWJiO0VBa0JRLGdCMUY5VGUsRTBGK1RsQjs7QUFHTDs7dURBRXVEO0FBRXZEO0VBR1EsaUIvRjVYTztFK0Y2WFAsMEIxRnpTTztFMEYwU1AsWUFBVztFQUNYLG9CQUFtQjtFQUNuQixtQkFBa0I7RUFDbEIsZTFGeFNNO0UwRnlTTiwwQ0FBeUMsRUF1QjVDO0VBaENMO0lBYVksMEIxRjVTUztJMEY2U1QsWUFBVztJQUNYLDBDQUF5QztJQUN6QyxlMUZyVEcsRTBGc1ROO0VBakJUO0lBb0JZLDJCMUZsVk8sRTBGbVZWO0VBckJUO0lBd0JZLDJCQUFnRCxFQUNuRDtFQXpCVDtJQTRCWSwwQjFGOVRRO0kwRitUUixlMUZsVUc7STBGbVVILG9CQUFtQixFQUN0Qjs7QUFLVDs7Ozt1REFJdUQ7QUFFdkQ7RUFDSSwwQnpDMVY2QyxFeUNpWWhEO0VBeENEO0lBS1ksZUFBYztJQUNkLGtDckZyVzZDO0lxRnNXN0MsbUJBQWtCLEVBYXJCO0lBcEJUO01BV2dCLG9CekNwV2lDO015Q3FXakMsZTFGblZNO00wRm9WTixpQi9GaGJELEUrRnNiRjtNQW5CYjtRQWdCb0Isb0IxRjhWcUQsRTBGN1Z4RDtFQWpCakI7SUF5QmdCLDRCQUEyQjtJQUMzQixpQi9GN2JELEUrRndjRjtJQXJDYjtNQTZCb0Isb0JBQW1CO01BQ25CLG1CQUFrQixFQU1yQjtNQXBDakI7UUFpQ3dCLGFBQVk7UUFDWixlekMzWHlCLEV5QzRYNUI7O0FBT3JCO0VBQ0ksMEJ6Q3BZNkMsRXlDd2FoRDtFQXJDRDtJQUlZLGVBQWM7SUFDZCxrQ3JGOVk2QztJcUYrWTdDLGlCQUFnQixFQVduQjtJQWpCVDtNQVVnQixvQnpDN1lpQztNeUM4WWpDLGUxRjVYTTtNMEY2WE4saUIvRnpkRCxFK0Y2ZEY7TUFoQmI7UUFjb0Isb0IxRnNUcUQsRTBGclR4RDtFQWZqQjtJQXNCZ0IsNEJBQTJCO0lBQzNCLGlCL0ZwZUQsRStGK2VGO0lBbENiO01BMEJxQixvQkFBbUI7TUFDbkIsbUJBQWtCLEVBTXRCO01BakNqQjtRQThCeUIsYUFBWTtRQUNaLGV6Q2xhd0IsRXlDbWE1Qjs7QUFPckI7O3VEQUV1RDtBQUV2RDtFQUNJLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isc0JBQXFCO0VBQ3JCLG9CQUFtQjtFQUluQixZQUFXLEVBeUZkO0U5RmpjSztJOEZpV047TUFVUSxzQkFBcUIsRUFzRjVCLEVBQUE7RUFoR0Q7SUFhUSxnQkFBTztRQUFQLFlBQU87WUFBUCxRQUFPLEVBdURWO0lBcEVMO01BZVksbUJBQWtCO01BQ2xCLFlBQVc7TUFDWCxhQUFZO01BQ1osb0IxRm5iUTtNMEZvYlIsbUJBQWtCO01BQ2xCLFlBQVc7TUFDWCw0QkFBbUI7VUFBbkIsdUJBQW1CO2NBQW5CLG9CQUFtQjtNQUNuQixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLGdDQUF1QjtVQUF2QixzQkFBdUI7Y0FBdkIsd0JBQXVCO01BQ3ZCLG1CQUFrQjtNQUNsQiw0QkFBMkI7TUFDM0Isd0JBQXVCO01BQ3ZCLFdBQVUsRUFNYjtNOUZsWUg7UThGaVdOO1VBNkJnQixnQkFBZTtVQUNmLFlBQVc7VUFDWCxhQUFZLEVBRW5CLEVBQUE7SUFqQ1Q7TUFtQ1ksb0IxRjVjSyxFMEY2Y1I7SUFwQ1Q7TUFzQ1ksNkJBQW9CO01BQXBCLDRCQUFvQjtNQUFwQixxQkFBb0I7TUFDcEIsc0JBQXFCO01BQ3JCLG9CMUZ6Y1E7TTBGMGNSLFlBQVc7TUFDWCxZQUFXO01BQ1gsNEJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixvQkFBbUI7TUFDbkIsV0FBVTtNQUNWLGUxRjljUTtNMEYrY1IsZ0NBQXVCO1VBQXZCLHNCQUF1QjtjQUF2Qix3QkFBdUI7TUFDdkIsbUJBQWtCLEVBb0JyQjtNOUZwYUg7UThGaVdOO1VBaURnQixtQkFBa0IsRUFrQnpCLEVBQUE7TUFuRVQ7UUFvRGdCLG9CMUY3ZEM7UTBGOGRELGUxRjlkQyxFMEYrZEo7TUF0RGI7UUF3RGdCLDRDQUEyQztRQUMzQyx3Q0FBbUM7WUFBbkMsb0NBQW1DO1FBQ25DLGtCQUFpQjtRQUNqQixnQkFBZSxFQU9sQjtROUZuYVA7VThGaVdOO1lBOERvQix5Q0FBd0M7WUFDeEMscUNBQWdDO2dCQUFoQyxpQ0FBZ0M7WUFDaEMsZ0JBQWUsRUFFdEIsRUFBQTtFQWxFYjtJQXNFUSxZQUFXO0lBQ1gsYUFBWSxFQXdCZjtJQS9GTDtNQXlFWSxtQkFBa0I7TUFDbEIsWUFBVztNQUNYLGFBQVk7TUFDWixvQjFGN2VRO00wRjhlUixtQkFBa0I7TUFDbEIsWUFBVztNQUNYLDRCQUFtQjtVQUFuQix1QkFBbUI7Y0FBbkIsb0JBQW1CO01BQ25CLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsZ0NBQXVCO1VBQXZCLHNCQUF1QjtjQUF2Qix3QkFBdUI7TUFDdkIsbUJBQWtCO01BQ2xCLHVCQUFzQjtNQUN0Qiw0QkFBMkI7TUFDM0Isd0JBQXVCLEVBTTFCO005RjViSDtROEZpV047VUF1RmdCLGdCQUFlO1VBQ2YsWUFBVztVQUNYLGFBQVksRUFFbkIsRUFBQTtJQTNGVDtNQTZGWSxvQjFGdGdCSyxFMEZ1Z0JSOztBQUtUOzt1REFFdUQ7QXhDbGVyRDtFd0NxZUUsb0JBQW1CLEVBQ3RCOztBQUVEO0VBQ0ksc0JBQXFCO0VBQ3JCLGlCQUFnQjtFQUNoQixhQUFZO0V0RnpsQmQsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw0QkFIcUI7TUFHckIsd0JBSHFCO1VBR3JCLG9CQUhxQixFc0ZpckJ0QjtFQXpGRDtJcEZya0JJLHVCQUFjO1FBQWQsbUJBQWM7WUFBZCxlQUFjO0lBQ2QsZ0JBQWU7SUFDZixlQUFjO0lBMkJkLDRCQUQ0RTtJSDlDeEUscUJBQTZEO0lBQTdELHVCQUE2RDtJQUE3RCx3QkFBNkQ7SUFBN0Qsc0JBQTZEO0l1RnVtQjdELG1CQUFrQixFQXdFckI7STlGemlCQztNOEZpZE47UXBGN2hCSSw0QkFEZ0gsRW9Gc25CL0csRUFBQTtJOUZ6aUJDO004RmlkTjtRcEZoa0JJLHNCQUFhO1lBQWIsa0JBQWE7Z0JBQWIsY0FBYTtRQTJCYixZQUFtQixFb0Y2bkJsQixFQUFBO0k5RnppQkM7TThGaWROO1F2RnZsQlEsc0JBQTZEO1FBQTdELHdCQUE2RDtRQUE3RCx5QkFBNkQ7UUFBN0QsdUJBQTZELEV1RitxQmhFLEVBQUE7SUF4Rkw7TUFxQmdCLHNCMUYvaUJFLEUwRmdqQkw7SUF0QmI7TW5EamxCRSxzQkFBcUI7TUFDckIsMkJ2Q3NiK0I7TXVDcGIvQixtQnZDcWJnQjtNdUNuYmhCLGtCdkNpYnNCO011Q2hidEIsZUFBYztNQUNkLG9CQUFtQjtNQUNuQixnQkFBZTtNbURzbUJELHdCQUF1QjtNQUN2QixtQkFBa0I7TUFDbEIsMEIxRnRqQkU7TTBGdWpCRixlMUYvaUJEO00wRmdqQkMsa0JBQWlCO01BQ2pCLFlBQVc7TUFDWCxXQUFVLEVBQ2I7SUFwQ2I7TUF3Q1ksV0FBVTtNRHRwQm5CLHdDQURrRDtNQUVsRCxnREFGa0Q7TUFHbEQsd0JBQXVCO01DdXBCZCxhQUFZLEVBNENmO01BdkZUO1FBOENnQixnQkFBZSxFQVdsQjtRQXpEYjtVQWdEb0IsY0FBYSxFQUNoQjtRQWpEakI7VUFtRG9CLFdBQVUsRUFDYjtRQXBEakI7VUF1RG9CLFdBQVUsRUFDYjtNQXhEakI7UUE0RGdCLHdCQUF1QixFQTBCMUI7UUF0RmI7VXZGdmxCUSxzQkFBNkQ7VUFBN0Qsd0JBQTZEO1VBQTdELHlCQUE2RDtVQUE3RCx1QkFBNkQsRXVGNHFCcEQ7VTlGdGlCWDtZOEZpZE47Y3ZGdmxCUSx1QkFBNkQ7Y0FBN0QseUJBQTZEO2NBQTdELDBCQUE2RDtjQUE3RCx3QkFBNkQsRXVGNHFCcEQsRUFBQTtVQXJGakI7WUFzRXdCLDBCMUZwbEJELEUwRnFsQkY7VUF2RXJCO1lBMEV3QiwwQjFGeGxCRCxFMEY4bEJGO1lBaEZyQjtjQTZFNEIsc0JBQXFCO2NBQ3JCLGtCQUEwQixFQUM3QjtVQS9FekI7WUFtRndCLG1CQUE0QixFQUMvQjs7QUFPckI7O3VEQUV1RDtBQUV2RDs7Ozs7O0VBTVEsb0JBQWlDO0VBQ2pDLGNBQWEsRUFDaEI7O0FBUkw7RUFXUSxnQkFBNEIsRUFDL0I7O0FBWkw7RUFnQlEsb0IxRjduQmUsRTBGbW9CbEI7RUF0Qkw7SUFrQlkseUJBQXdCO0lBQ3hCLG9CQUFtQjtJQUNuQixzQjFGaG9CVSxFMEZpb0JiOztBQXJCVDtFQXdCUSxvQjFGdG9CTyxFMEYwb0JWO0VBNUJMO0lBMEJZLGFBQVksRUFDZjs7QUFLVDs7dURBRXVEO0FBQ3ZEO0VBR0ksZTFGOXBCZ0I7RTBGK3BCaEIsZ0JBQWU7RUFDZix1QkFBc0I7RUFDdEIsZ0JBQWU7RUFDZixtQkFBa0IsRUFXckI7RUFsQkQ7SUFTUSxlMUZycUJVLEUwRnNxQmI7O0FBVUw7O3VEQUV1RDtBL0M5bUJyRDtFK0NpbkJFLG1CQUFrQixFQUNyQjs7QUFFRDs7O3VEQUd1RDtBQUV2RDtFQUNJLG9CMUZsckJtQjtFMEZtckJuQixtQjFGN3NCZTtFMEY4c0JmLGUxRjdxQmtCO0UwRjhxQmxCLDBCMUZuckJnQjtFMEZvckJoQixpQ0FBNEQ7RUFDNUQsZ0JyRnhzQnFEO0VxRnlzQnJELHNCQUFxQjtFQUNyQixtQkFBa0IsRUFpQnJCO0VBekJEO0lBY1EsZTFGenJCVztJMEYrckJYLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsU0FBUTtJQUNSLG9DQUEyQjtRQUEzQixnQ0FBMkI7WUFBM0IsNEJBQTJCLEVBQzlCOztBQ2p6Qkw7RUFJUSxtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLGlCQUFnQjtFQUNoQixlQUFjLEVBNExqQjtFQW5NTDs7Ozs7SUFnQlksbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxVQUFTO0lBRVQsZTNGeUZTO0kyRnhGVCwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQixFQUN6QjtFQXRCVDtJRkFJLGVBQTBCLEVFMkJyQjtFQTNCVDs7Ozs7Ozs7SUF3RFksT0FBTTtJQUNOLFFBQU87SUFDUCxtQ0FBMEI7UUFBMUIsK0JBQTBCO1lBQTFCLDJCQUEwQixFQUM3QjtFQTNEVDs7OztJQWlFWSwwQjNGc0NHO0kyRnJDSCxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFDaEIsNkIzRnVDUztJMkZ0Q1QsaUJBQWdCO0lBQ2hCLGlCQUFnQixFQUNuQjtFQXpFVDs7OztJQWlGWSxjQUFhO0lBQ2IsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsa0JBQWlCO0lBQ2pCLDZCM0Z1QlMsRTJGdEJaO0VBdkZUO0lBMkZnQixtQkFBa0I7SUFDbEIsU0FBUTtJQUNSLFVBQVMsRUFDaEI7RUE5RlQ7SUFpSFksbUJBQWtCO0lBTWxCLE9BQU07SUFDTixRQUFPO0lBQ1AsbUNBQTBCO1FBQTFCLCtCQUEwQjtZQUExQiwyQkFBMEIsRUFDN0I7RUExSFQ7SUE2SFksMEIzRnRCRztJMkZ1QkgsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQixrQkFBaUI7SUFDakIsaUJBQWdCO0lBQ2hCLDZCM0ZyQlM7STJGc0JULGlCQUFnQjtJQUNoQixpQkFBZ0IsRUFDbkI7RUFySVQ7SUEwSVksVUFBUztJQUNULFdBQVUsRUFDYjtFQTVJVDtJQWlKWSxrQkFBaUIsRUFDcEI7RUFsSlQ7SUFxSlksa0JBQWlCO0lBQ2pCLGVBQWM7SUFDZCxpQkFBZ0I7SUFDaEIsdUJBQXNCO0lGeEo5QixlQUEwQjtJRTBKbEIsWUFBVztJQUNYLGFBQVk7SUFDWixtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU87SUFDUCxxQkFBb0I7SUFDcEIsZ0JBQWUsRUFDbEI7RUFqS1Q7SUFvS1ksaUJBQWdCLEVBQ25CO0VBcktUO0lBMEtZLGdCQUFlO0lBQ2YsMEJBQXlCLEVBQzVCO0VBNUtUOztJQWdMWSxlM0Y5RUssRTJGK0VSO0VBakxUOztJQXFMWSx3Q0FBaUQ7SUFDakQseUJBQXdCLEVBRzNCOztBQzFMVDtFQUVJLGlCQUFnQixFQWlFakI7RWhHd0dHO0lnRzNLTjtNQUlNLG1CQUFrQixFQStEckIsRUFBQTtFQW5FSDtJQVFNLHNCQUFxQjtJQUNyQixXQUFVLEVBVVg7SWhHd0pDO01nRzNLTjtRQVdRLGlCQUFnQixFQVFuQixFQUFBO0loR3dKQztNZ0czS047UUFjUSxXQUFVLEVBS2IsRUFBQTtJQW5CTDtNQWlCUSxlQUFjLEVBQ2Y7RUFsQlA7Ozs7Ozs7SUE0Qk0sc0JBQXFCO0lBQ3JCLFdBQVU7SUFDVixVQUFTLEVBSVY7SWhHeUlDO01nRzNLTjs7Ozs7OztRQWdDUSxXQUFVLEVBRWIsRUFBQTtFQWxDTDtJQW9DTSxtQkFBa0IsRUFPbkI7SUEzQ0w7TUFzQ1EsUUFBTztNQUNQLE9BQU87TUFDUCxXQUFVO01BQ1YsbUJBQWtCLEVBQ25CO0VBMUNQO0lBNkNNLHNCQUFxQjtJQUNyQixXQUFVLEVBb0JYO0loR3lHQztNZ0czS047UUFnRFEsV0FBVSxFQWtCYixFQUFBO0lBbEVMO014RmlDRSxzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDRCQUhxQjtVQUdyQix3QkFIcUI7Y0FHckIsb0JBSHFCO013RnFCZixVQUFTLEVBYVY7TUFqRVA7UXRGdURJLHNCQUFhO1lBQWIsa0JBQWE7Z0JBQWIsY0FBYTtRQTJCYixZQUFtQjtRSHpDakIsdUJBQTZEO1FBQTdELHNCQUE2RDtReUZjekQsVUFBUyxFQUtWO1FBNURUO1VBeURZLFlBQVc7VUFDWCxVQUFTLEVBQ1Y7TUEzRFg7UUE4RFUsa0JBQWlCO1FBQ2pCLG1CQUFrQixFQUNuQjs7QUFoRVQ7RUFxRUksYUFBWTtFQUNaLG1CQUFrQixFQU9uQjtFaEc4Rkc7SWdHM0tOO01Bd0VNLG1CQUFrQixFQUtyQixFQUFBO0VoRzhGRztJZ0czS047TUEyRU0sbUJBQWtCLEVBRXJCLEVBQUE7O0FDN0VIO0VBU0csc0JBQXFCLEVBT3JCO0VBaEJIO0lBYUksYUFBWTtJQUNaLGtCQUFpQixFQUNqQjs7QUFmSjtFQW9CRSxlQUFjLEVBaURkO0VBckVGO0lBdUJHLGFBQVksRUFZWjtJQW5DSDtNQTBCSSxZQUFXO01BQ1gsbUJBQWtCLEVBT2xCO01BbENKO1E1RnlPRSxtQkFBa0I7UUFDbEIsU0FBUTtRQUNSLG9DQUEyQjtZQUEzQixnQ0FBMkI7Z0JBQTNCLDRCQUEyQjtRNEY1TXhCLGtCQUFpQjtRQUNqQixZQUFXLEVBQ1g7RUFqQ0w7SUF1Q0csZTdGeUVtQixFNkZ4RW5CO0VBeENIO0lBMkNHLGU3Rm1EaUI7STZGbERqQixrQkFBaUI7SUFDakIsZ0JBQWUsRUFDZjtFQTlDSDtJQWlERyxpQmxHN0JZO0lrRzhCWixtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWiwwQjdGMkNlLEU2RnZDZjtJQXpESDtNQXVESSxjQUFhLEVBQ2I7RUF4REo7SUEyREcsaUJsR3ZDWTtJa0d3Q1osbUJBQWtCO0lBQ2xCLGlCQUFnQjtJQUNoQixhQUFZO0lBQ1osa0JBQWlCO0lBQ2pCLDBCQUF3QixFQUl4QjtJQXBFSDtNQWtFSSxjQUFhLEVBQ2I7O0FDakVKO0VBQ0MsYUFBWTtFQUNaLG1CQUFrQixFQTJEbEI7RUE3REQ7SUFJRSxVQUFTLEVBQ1Q7RUFMRjtJQU9FLGFBQVk7SUFDWixtQkFBa0I7SUFDbEIsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixXQUFVO0lBQ1YsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsY0FBYTtJQUNiLGdCQUFlO0lBQ2Ysb0JBQW1CO0lBQ25CLHFCQUFvQjtJQUNwQixzQkFBcUI7SUFDckIsb0RBQThEO0lBQzlELFdBQVUsRUFlVjtJQXBDRjtNQXVCRyxhQUFZO01BQ1osaUM5RmlGaUI7TThGaEZqQixtQkFBa0I7TUFDbEIsV0FBVTtNQUNWLGFBQVk7TUFDWiwwQjlGMEVZLEU4RnRFWjtNQWhDSDtRQThCSSxpQzlGMkVnQixFOEYxRWhCO0lsRzBJRTtNa0d6S047UUFrQ0csdUJBQXNCLEVBRXZCLEVBQUE7RUFwQ0Y7SUF1Q0UsYUFBWTtJQUNaLFlBQVc7SUFDWCxzQkFBcUI7SUFDckIsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFNBQVE7SUFDUixXQUFVO0lBQ1YsV0FBVTtJQUNWLGdCQUFlO0lBQ2YsNkJBQTRCO0lBQzVCLGdCQUFlO0lBQ2YsZTlGMERvQixFOEZsRHBCO0lBNURGO01Bc0RHLGFBQVksRUFDWjtJQXZESDtNQXlERyxPQUFNO01BQ04sbUJBQWtCLEVBQ2xCOztBSjhISDtFSXZIQyxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLGlCQUFnQjtFQUNoQixZQUFXLEVBaUVYO0VsR21DSztJOEZnQk47TUk5R0UsbUJBQWtCO01BQ2xCLFlBQVcsRUEwRFosRUFBQTtFbEdtQ0s7SThGZ0JOO01JMUdFLGFBQVksRUF1RGIsRUFBQTtFQXRFRDtJQWtCRSwwQjlGb0JhO0k4Rm5CYiwwQ0FBeUM7SUFDekMsMEI5RnFCa0I7SThGcEJsQixpQkFBZ0IsRUFLaEI7SWxHK0VJO01rR3pHTjtRQXVCRyxpQkFBZ0I7UUFDaEIsYUFBWSxFQUViLEVBQUE7RUExQkY7SUE0QkUsbUJBQWtCO0lBQ2xCLG1CQUFrQixFQUNsQjtFQTlCRjtJQWdDRSxtQkFBa0IsRUFxQ2xCO0lBckVGO01Bb0NHLG1CQUFrQjtNQUNsQixZQUFXLEVBQ1g7SUF0Q0g7TUF3Q0csMkJBQWtCO1VBQWxCLDRCQUFrQjtrQkFBbEIsMkJBQWtCO2NBQWxCLG1CQUFrQixFQUNsQjtJQXpDSDtNQTJDRyxlOUZHbUIsRThGRm5CO0lBNUNIO01BOENHLFVBQVM7TUFDVCxrQkFBaUIsRUFDakI7SUFoREg7TUFrREcsa0JBQWlCO01BQ2pCLGdCQUFlO01BQ2Ysa0JBQWlCO01BQ2pCLG9CQUFtQjtNQUNuQixpQkFBZ0I7TUFDaEIsd0JBQXVCLEVBQ3ZCO0lBeERIO01BMERHLGU5RlptQjtNOEZhbkIsa0JBQWlCO01BQ2pCLGdCQUFlLEVBQ2Y7SWxHNENHO01rR3pHTjtRQWlFSyxlOUZoQ1ksRThGaUNaLEVBQUE7O0FsR3VDQztFa0c5Qkw7SUFDQyxrQkpwSDRCO0lJcUg1QixxQkpySDRCLEVJcU81QjtJQWxIRDtNQUlFLDBCQUF5QixFQU96QjtNQVhGO1FBTUcsY0FBYSxFQUNiO01BUEg7UUFTRywrQkFBK0QsRUFDL0Q7SUFWSDtNQWNHLFdBQVUsRUFDVjtJQWZIO00xRjVHQyxzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDRCQUhxQjtVQUdyQix3QkFIcUI7Y0FHckIsb0JBSHFCO00wRmtJbEIsMkJBQTBCLEVBd0IxQjtNQTVDSjtRQXNCSyxlOUZuRGdCO1E4Rm9EaEIsb0JBQWtDO1FBQ2xDLHVCQUFxQyxFQW1CckM7UUEzQ0w7VXhGbkZHLHVCQUFjO2NBQWQsbUJBQWM7a0JBQWQsZUFBYztVQTRCZCxZQUFtQjtVSDdDakIsdUJBQTZEO1VBQTdELHNCQUE2RDtVMkYrSDVELDBCQUF5QixFQUN6QjtRQTVCTjtVeEZ0Rkcsc0JBQWE7Y0FBYixrQkFBYTtrQkFBYixjQUFhO1VBMkJiLFlBQW1CO1VIekNqQix1QkFBNkQ7VUFBN0Qsc0JBQTZEO1UyRm1JNUQsa0JBQWlCO1VBQ2pCLG1CQUFrQixFQVVsQjtVQTFDTjtZQWtDTyxxQkFBb0I7WUFDcEIsaUJBQWdCO1lBQ2hCLGtDQUF5QjtnQkFBekIsOEJBQXlCO29CQUF6QiwwQkFBeUI7WUFDekIsbUJBQWtCO1lBQ2xCLFVBQVM7WUFDVCxZQUFXO1lBQ1gsMkJBQTBCLEVBQzFCO0lBekNQO01BK0NJLFVBQVM7TUFDVCxXQUFVO01BQ1YsbUJBQWtCO01BQ2xCLDJCQUEwQjtNQUMxQixpQzlGckZlLEU4RjZHZjtNQTNFSjtRQXFESyxlQUFjO1FBQ2Qsb0JBQW1CO1FBQ25CLG1CQUFrQjtRQUNsQixhQUFZO1FBQ1osdUJBQXNCO1FBQ3RCLHNCQUFxQjtRQUNyQixXQUFVO1FBQ1YsWUFBVyxFQWNYO1FBMUVMO1VBOERNLGNBQWE7VUFDYixpQkFBZ0IsRUFDaEI7UUFoRU47VUFrRU0sWUFBVyxFQUNYO1FBbkVOO1VBcUVNLGVBQWM7VUFDZCxlOUZuR2U7VThGb0dmLG9CQUFrQztVQUNsQyx1QkFBcUMsRUFDckM7SUF6RU47TUFnRkssMEI5RjdHZ0IsRThGb0hoQjtNQXZGTDtRQWtGTSxhQUFZLEVBSVo7UUF0Rk47VUFvRk8sa0NBQXlCO2NBQXpCLDhCQUF5QjtrQkFBekIsMEJBQXlCLEVBQ3pCO0lBckZQO01BeUZLLGFBQVk7TUFDWixXQUFVLEVBQ1YsRUFBQTtFbEc3REE7SWtHOUJMO01BbUdLLGlCQUFnQjtNQUNoQixrQkFBaUI7TXhGdkxuQix1QkFBYztVQUFkLG1CQUFjO2NBQWQsZUFBYztNQTRCZCxZQUFtQjtNSDdDakIsdUJBQTZEO01BQTdELHNCQUE2RCxFMkYwTTdELEVBQUE7O0FsR3hFQTtJa0c5Qkw7TUE0R0UsaUJBQWdCO01BQ2hCLGNBQWEsRUFJYjtNQWpIRjtRQStHRyxpQkFBZ0IsRUFDaEI7RUFHRjtJQUdNLFVBQVM7SUFDVCxXQUFVLEVBV1g7SUFmTDtNQU1RLDBCQUF5QixFQVExQjtNQWRQO1FBUVUsZUFBYztRQUNkLG9CQUFtQjtRQUNuQixVQUFTO1FBQ1QsbUJBQWtCO1FBQ2xCLFlBQVcsRUFDWixFQUFBOztBbEdsR0w7RWtHZ0lMO0lwRXRQQyxXQUFVO0lBQ1YsVUFBUztJQUNULGlCQUFnQjtJQUNoQixtQkFBa0I7SUFHaEIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYix3QkFBZTtRQUFmLG9CQUFlO1lBQWYsZ0JBQWUsRW9FbVFqQjtJckdvalNFO01RenFTQSxXQUFVLEVBQ1g7SXlCeElEOztNQUVFLGVBQWM7TUFDZCxzQkFBcUI7TUFDckIsZUFBYztNQUNkLHFCMUJRNkIsRTBCUDlCO0lBR0Q7Ozs7TUFJRSxpQkFBZ0IsRUFDakI7SUFFRDtNQUNFLHNCQUFxQixFQUN0QjtJb0VzTkY7TUFHRSx1RTlGdkoyRTtNOEZ3SjNFLG9CQUFtQjtNQUNuQixlOUZuTVc7TThGb01YLG9CQUFtQjtNQUNuQix1QkFBc0IsRUFZdEI7TUFuQkY7UUFVRyxlOUZyTWtCLEU4RnNNbEI7TUFYSDtRQWFHLGlCQUFnQjtRQUNoQixlOUZ6TWtCLEU4RjBNbEIsRUFBQTtJbEdwSkU7TWtHcUlMO1FBaUJHLG9CQUFtQixFQUVwQixFQUFBOztBbEduSkc7RThGU047SUlnSkUsK0JBQThCO0lBQzlCLHVCQUFzQjtJQUN0QiwwQkFBeUI7SUFDekIsOEJBQTZCO0lBQzdCLHNCQUFxQjtJQUNyQix1QkFBc0I7SUFDdEIsNkJBQTRCO0lBQzVCLHNDQUE2QjtRQUE3QixrQ0FBNkI7WUFBN0IsOEJBQTZCO0lBQzdCLHFCQUFvQixFQW9GcEI7SUE5RkQ7TUFZRSwwQjlGdE9ZO004RnVPWiwwQ0FBd0M7TUFDeEMsaUM5RnRPbUIsRThGc1NuQjtNQTlFRjtRQWdCRyxXQUFVLEVBc0JWO1FBdENIO1VBa0JJLDBCQUF5QixFQVd6QjtVQTdCSjtZQXFCTSxVQUFTLEVBTVQ7WUEzQk47Y0F3QlEsZ0JBQWUsRUFDZjtRQXpCUjtVQWtDSSxhQUFZO1VBQ1osb0JBQW1CO1VBQ25CLHVCQUFzQixFQUN0QjtNQXJDSjtRQXlDRyxZQUFXLEVBb0NYO1FBN0VIO1VBNENJLG1CQUFrQjtVQUNsQixZQUFXO1VBQ1gsYUFBWTtVQUNaLDBDQUF3QztVQUN4QyxvQkFBbUIsRUE0Qm5CO1VBNUVKO1lBa0RLLDRCQUEyQixFQUMzQjtVQW5ETDtZQXFESyxhQUFZLEVBQ1o7VUF0REw7WUF3REssb0JBYmtDLEVBY2xDO1VBekRMO1lBNERLLGU5RjlRZ0I7WThGK1FoQixzQjlGL1FnQjtZOEZnUmhCLGtCQUFpQixFQUNqQjtVQS9ETDtZQWlFSyxpQkFBZ0IsRUFVaEI7WUEzRUw7Y0FvRU8sZTlGdFJjLEU4RjJSZDtjQXpFUDtnQkF1RVEsZTlGN1JTLEU4RjhSVDtJQXhFUjtNQWdGRSxpQ0FBZ0MsRUFDaEM7SUFqRkY7TUFtRkUsMEJBQXlCO01BQ3pCLGU5RnRTbUI7TThGdVNuQixnQkFBZTtNQUNmLGlCQUFnQjtNQUNoQixpQkFBZ0I7TUFDaEIsc0JBQXFCO01BQ3JCLHNCQUFxQixFQUNyQjtJQTFGRjtNQTRGRSxpQkFBZ0IsRUFDaEIsRUFBQTs7QUFPSDtFQUdFLDBCOUZ6VG9CO0U4RjBUcEIsaUJBQWdCO0VBQ2hCLHVFOUZwUjRFO0U4RnFSNUUsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFQUtoQixnQkFBZSxFQWNmO0VBMUJGO0lBVUcsZTlGeFVZLEU4RnlVWjtFQVhIO0lBY0csbUJBQWtCO0lBQ2xCLG9CQUFtQixFQVVuQjtJQXpCSDtNQWlCSSx1QkFBc0I7TUFDdEIsaUJBQWdCO01BQ2hCLGdCQUFlO01BQ2Ysb0JBQW1CO01BQ25CLG1CQUFrQjtNQUNsQixTQUFRO01BQ1IsT0FBTSxFQUNOOztBQXhCSjtFQTRCRSxVQUFTLEVBQ1Q7O0FKdlJGO0VLMUtJLHlCQUFnQjtFQUFoQixpQkFBZ0I7RUFDaEIsT0FBTSxFQWlFVDtFQXBFRDtJQVNRLDBCL0YrRk87SStGOUZQLGUvRnNHYyxFK0Z0RWpCO0lBMUNMO01BY2dCLHNCQUFxQixFQUt4QjtNQW5CYjtRQWdCb0IsYUFBWTtRQUNaLGlCQUFnQixFQUNuQjtJQWxCakI7TUF1QmdCLG9CL0Z5Rk07TStGeEZOLDhDL0Z3Rk0sRStGdkZUO0lBekJiOztNQStCZ0IsZS9GaUZNO00rRmhGTixxQi9GZ2RXO00rRi9jWCxzQi9GK2NXO00rRjljWCxZQUFXO01BQ1gsYUFBWTtNQUNaLHNCQUFxQjtNQUNyQixnQkFBZTtNQUNmLGtCQUFpQjtNQUNqQix1QkFBc0IsRUFDekI7RUF4Q2I7SUE2Q1EsaUJwR3pCTztJb0cwQlAsbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxZQUFXO0lBQ1gsYUFBWTtJQUNaLFlBQVc7SUFDWCwwQi9GNkNVLEUrRnpDYjtJQXZETDtNQXFEWSxjQUFhLEVBQ2hCO0VBdERUO0lBeURRLG1CQUFrQjtJQUNsQiwwQkFBeUI7SUFDekIsVUFBUztJQUNULFlBQVc7SUFDWCxZQUFXO0lBQ1gsYUFBWSxFQUlmO0lBbEVMO01BZ0VZLGNBQWEsRUFDaEI7O0FDakVUO0VBRUksb0JoR2lHYTtFZ0doR2IsZUFBYyxFQStCakI7RUFsQ0Q7SUFLUSxnQkFKaUI7SUFLakIsbUJBTGlCLEVBV3BCO0lBWkw7TUFRWSxlaEdnR0c7TWdHL0ZILG1CQUFrQjtNQUNsQixvQkFBbUIsRUFDdEI7RUFYVDtJQWNRLGdCQWJpQjtJQWNqQixtQkFkaUIsRUFtQnBCO0lBcEJMO01BaUJZLGVoR3VGRztNZ0d0Rkgsb0JBQW1CLEVBQ3RCO0VBbkJUO0lBc0JRLGdCQXJCaUI7SUFzQmpCLG1CQXRCaUI7SUF1QmpCLGVoR2dGTyxFZ0d2RVY7SUFqQ0w7TUEwQlksb0JBQW1CLEVBQ3RCO0lBM0JUO01BNkJZLGVoRzJFRztNZ0cxRUgsbUJBQWtCO01BQ2xCLG9CQUFtQixFQUN0Qjs7QUNoQ1Q7RUFFUSwyQkFBMEIsRUFDN0I7O0FBR0w7RUFDSSwwQmpHa0dtQjtFaUdqR25CLGFBQVk7RUFDWiw4QmpHa0dnQjtFaUdqR2hCLGtCQUFpQjtFQUNqQixxQkFBb0I7RUFDcEIsaUJBQWdCLEVBc0JuQjtFQTVCRDtJQVNRLGtCQUFpQixFQUNwQjtFQVZMO0lBYVEsa0JBQWlCO0lBQ2pCLGVqRzRGYyxFaUczRmpCO0VBZkw7SUFrQlEsb0JBQW1CLEVBQ3RCO0VBbkJMO0lBc0JRLHFCQUFvQixFQUt2QjtJQTNCTDtNQXlCWSxtQkFBa0IsRUFDckI7O0FBSVQ7RUFDSSwwQkFBeUI7RUFDekIsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixxQkFBb0IsRUFZdkI7RUFoQkQ7SUFNUSxlakc4RE8sRWlHN0RWO0VBUEw7SUFTUSxlakcyRE87SWlHMURQLG1CQUFrQjtJQUNsQixvQkFBbUIsRUFDdEI7RUFaTDtJQWNRLGVqR3NETyxFaUdyRFY7O0FDbkRMOzt1REFFdUQ7QUFFdkQ7RUFDSSwwQmxHb0dtQixFa0d6RXRCO0VBNUJEO0lBSVksWUFBVztJQUNYLDBCbEcwRks7SWtHekZMLFlBQVc7SUFDWCxZQUFXO0lBQ1gsZUFBYztJQUNkLG9CQUFtQixFQUN0QjtFQVZUO0lBYVEsMENBQXdDO0lBQ3hDLGlDbEd5RlksRWtHckZmO0lBbEJMO01BZ0JZLGNBQWEsRUFDaEI7RUFqQlQ7SUFvQlEsMENBQXdDO0lBQ3hDLGlDbEdrRlksRWtHakZmO0VBdEJMO0lBeUJZLGNBQWEsRUFDaEI7O0FBSVQ7O3VEQUV1RDtBQ3BDdkQ7RUFDRSxhQUFXO0VBQ1gsZUFBYyxFQUNmOztBQUVEO0VBQ0UsYUFBVztFQUNYLGVBQ0YsRUFBQzs7QUFFRDtFQUNFLGFBQVc7RUFDWCxlQUNGLEVBQUM7O0FDYkQ7RUFLRSxlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLDJCQUEwQixFQUMxQjs7QUNSRjtFNUN1REUsZ0NBbkRrQjtNQW1EbEIsc0JBbkRrQjtVQW1EbEIsd0JBbkRrQixFNENDbkI7RXpHaUtLO0l5R3RLTjtNNUN1REUsb0NBckR5RDtVQXFEekQscUJBckR5RDtjQXFEekQsNEJBckR5RCxFNENHMUQsRUFBQTs7QUFFRDtFQUNDLG9CQUFtQjtFQUNuQixnQkFBZTtFL0Z5Q1osdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCxnQkFBZTtFQUNmLGVBQWM7RUEyQmQsNEJBRDRFO0VIckMxRSx1QkFBNkQ7RUFBN0Qsc0JBQTZELEVrR1hsRTtFekd3SUs7SXlHL0pOO00vRm1GSSw0QkFEZ0g7TUhoRDlHLHdCQUE2RDtNQUE3RCx1QkFBNkQsRWtHWGxFLEVBQUE7RXpHd0lLO0l5Ry9KTjtNL0ZtRkksa0NBRGdIO01IaEQ5Ryx3QkFBNkQ7TUFBN0QsdUJBQTZELEVrR1hsRSxFQUFBO0V6RzZJSztJeUdwS047TS9GbUZJLDRCQURnSDtNSGhEOUcsd0JBQTZEO01BQTdELHVCQUE2RCxFa0dYbEUsRUFBQTtFQXZCRDtJQWdCRywrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQixFQUN0QjtFQWpCSDtJQW1CRyxvQkFBbUI7SUFDbkIsV0FBVSxFQUNWOztBQUlIO0VBQ0MsZUFBYyxFQU9kO0VBUkQ7SUFLRywrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQixFQUN0Qjs7QUFJSDtFQUNDLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsZ0NBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsaUJBQWdCO0VBQ2hCLGNBQWEsRUFDYjs7QUFFRDtFQUNDLDJDQUFrQztFQUFsQyxtQ0FBa0M7RUFBbEMsbUVBQWtDO0VBQ2xDLDJCQUFrQjtNQUFsQiw0QkFBa0I7Y0FBbEIsMkJBQWtCO1VBQWxCLG1CQUFrQixFQUNsQjs7QUFFRDtFQUNDLG9CQUFtQjtFQUNuQixlckdxRGE7RXFHcERiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsdUNBQThCO01BQTlCLHVCQUE4QjtVQUE5QiwrQkFBOEIsRUFJOUI7RXpHd0dLO0l5R2hITjtNQU1FLGdCQUFlLEVBRWhCLEVBQUE7O0FBR0Q7RUFDSSxvQkFBbUI7RUFDdEIsVUFBUztFQUNULDBEQUEwRDtFQUMxRCxpQkFBZ0I7RUFDaEIsd0JBQXVCO0VBQ3ZCLG9CQUFtQixFQUNuQjs7QUFFRDtFQUNJLG9CQUFtQixFQUN0Qjs7QUFFRDtFQUNDLGtCQUFpQixFQUNqQjs7QUFFRDtFQUNDLGlCQUFnQixFQUNoQjs7QXpHdUZLO0V5R3BGTDs7R0FFRTtFQUNGO0lacERDLFdBQVU7SUFDViwwQ0FBaUM7WUFBakMsa0NBQWlDO0lBQ2pDLGdDQUErQixFWW9EL0I7RUFyRkY7SVpxQ0Usc0NBQTZCO1lBQTdCLDhCQUE2QjtJQUM3QixnQ0FBdUI7WUFBdkIsd0JBQXVCO0lBQ3ZCLCtDQUFzQztZQUF0Qyx1Q0FBc0M7SUFDdEMsaUNBQXdCO1lBQXhCLHlCQUF3QixFWW1EdEIsRUFBQTs7QUFNSjtFQUNJLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2hCLHVDQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLGdCQUFlLEVBQ2Y7O0FBR0Q7O0VBR0UsZ0JBQWU7RUFDZixlckdMbUIsRXFHU25CO0V6R29ESTtJeUc1RE47O01BTUcsZ0JBQWUsRUFFaEIsRUFBQTs7QUFJRjtFQUNDLGVBQWMsRUFlZDtFQWhCRDtJQUdFLDBCQUF5QjtJQUN6QixlckdsQlk7SXFHbUJaLDBCckduQlk7SXFHb0JaLGFBQVk7SUFDWixnQkFBZSxFQVFmO0lBZkY7TUFTRyxpQkFBZ0I7TUFDaEIsdUJBQXNCO01BQ3RCLGVyR3pCVztNcUcwQlgsYUFBWTtNQUNaLFVBQVMsRUFDVDs7QXpHa0NHO0V5RzdCTDtJQUVFLGdCQUFlLEVBQ2Y7RUF0Qkg7SUF5QkUsZXJHNkJtQjtJeUYzSW5CLFdBQVU7SUFDViwwQ0FBaUM7WUFBakMsa0NBQWlDO0lBQ2pDLGdDQUErQixFWW1IL0I7SUFoQ0Y7TUE0QkcsYUFBWTtNQUNaLGFBQVk7TUFDWixnQkFBZSxFQUNmO0VBRUY7SVpoSEMsc0NBQTZCO1lBQTdCLDhCQUE2QjtJQUM3QixnQ0FBdUI7WUFBdkIsd0JBQXVCO0lBQ3ZCLCtDQUFzQztZQUF0Qyx1Q0FBc0M7SUFDdEMsaUNBQXdCO1lBQXhCLHlCQUF3QixFWWtIdEIsRUFBQTs7QUNqS0osWUFBWTtBQUVaO0VBQ0ksbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCx1QkFBc0I7RUFDdEIsNEJBQTJCO0VBQzNCLDBCQUF5QjtFQUV6Qix1QkFBc0I7RUFDdEIsc0JBQXFCO0VBQ3JCLGtCQUFpQjtFQUNqQix3QkFBdUI7RUFDdkIsb0JBQW1CO0VBQ25CLHlDQUF3QyxFQUMzQzs7QUFDRDtFQUNJLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLFVBQVM7RUFDVCxXQUFVLEVBVWI7RUFmRDtJQVFRLGNBQWEsRUFDaEI7RUFUTDtJQVlRLGdCQUFlO0lBQ2YsYUFBWSxFQUNmOztBQUVMOztFQUVJLHdDQUF1QztFQUV2QyxvQ0FBbUM7RUFFbkMsZ0NBQStCLEVBQ2xDOztBQUVEO0VBQ0ksbUJBQWtCO0VBQ2xCLFFBQU87RUFDUCxPQUFNO0VBQ04sZUFBYztFQUNkLGtCQUFpQjtFQUNqQixtQkFBa0IsRUFlckI7RUFyQkQ7SUFVUSxZQUFXO0lBQ1gsZUFBYyxFQUNqQjtFQVpMO0lBZVEsWUFBVyxFQUNkO0VBRUQ7SUFDSSxtQkFBa0IsRUFDckI7O0FBRUw7RUFDSSxZQUFXO0VBQ1gsYUFBWTtFQUNaLGdCQUFlO0VBV2YsY0FBYSxFQW1CaEI7RTdHaXVUQztJNkc3dlRNLGFBQVksRUFDZjtFQU5MO0lBUVEsZUFBYyxFQUNqQjtFQVRMO0lBV1EsY0FBYSxFQUNoQjtFQVpMO0lBaUJRLHFCQUFvQixFQUN2QjtFQUVEO0lBQ0ksZUFBYyxFQUNqQjtFQUVEO0lBQ0ksbUJBQWtCLEVBQ3JCO0VBRUQ7SUFDSSxlQUFjO0lBQ2QsYUFBWTtJQUNaLDhCQUE2QixFQUNoQzs7QUFFTDtFQUNJLGNBQWEsRUFDaEI7O0FDMURELFlBQVk7QUFHUjtFQUNJLGtFQUEyRSxFQUM5RTs7QUFHTCxXQUFXO0FBRVA7RUFDSSxxQkFBb0I7RUFDcEIsOEJBaEJvQztFQWlCcEMsc01BQWlOO0VBQ2pOLG9CQUFtQjtFQUNuQixtQkFBa0IsRUFBQTs7QUFJMUIsWUFBWTtBQUVaOztFQUVJLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsYUFBWTtFQUNaLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLGdCQUFlO0VBQ2Ysd0JBQXVCO0VBQ3ZCLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1Isc0NBQXFDO0VBQ3JDLGtDQUFpQztFQUNqQyw4QkFBNkI7RUFDN0IsV0FBVTtFQUNWLGFBQVk7RUFDWixjQUFhLEVBcUJoQjtFQXRDRDs7O0lBbUJRLGNBQWE7SUFDYix3QkFBdUI7SUFDdkIsbUJBQWtCLEVBSXJCO0lBekJMOzs7TUF1QlksV0FqRWMsRUFrRWpCO0VBeEJUOztJQTJCUSxjQXBFdUIsRUFxRTFCO0VBNUJMOztJQThCUSxxQkFsRm1CO0lBbUZuQixnQkFBZTtJQUNmLGVBQWM7SUFDZCxhQW5GaUI7SUFvRmpCLGNBN0VvQjtJQThFcEIsb0NBQW1DO0lBQ25DLG1DQUFrQyxFQUNyQzs7QUFHTDtFQUNJLFlBQVcsRUFXZDtFOUcyeFRDO0k4R3B5VE0sV0FBVTtJQUNWLGFBQVksRUFDZjtFQUxMO0lBT1EsYUE5RnNCLEVBQUE7STlHbTRUMUI7TThHbnlUUSxhQS9Ga0IsRUFBQTs7QUFvRzlCO0VBQ0ksYUFBWSxFQVdmO0U5R3V4VEM7SThHaHlUTSxZQUFXO0lBQ1gsWUFBVyxFQUNkO0VBTEw7SUFPUSxhQTNHc0IsRUFBQTtJOUc0NFQxQjtNOEcveFRRLGFBOUdrQixFQUFBOztBQW1IOUIsVUFBVTtBQUVWO0VBQ0ksb0JBQW1CLEVBQ3RCOztBQUVEO0VBQ0ksbUJBQWtCO0VBQ2xCLGNBQWE7RUFDYixpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsVUFBUztFQUNULFlBQVcsRUFpRGQ7RUF6REQ7SUFVUSxtQkFBa0I7SUFDbEIsc0JBQXFCO0lBQ3JCLGFBQVk7SUFDWixZQUFXO0lBQ1gsY0FBYTtJQUNiLFdBQVU7SUFDVixnQkFBZSxFQXdDbEI7SUF4REw7TUFrQlksVUFBUztNQUNULHdCQUF1QjtNQUN2QixlQUFjO01BQ2QsYUFBWTtNQUNaLFlBQVc7TUFDWCxjQUFhO01BQ2IsaUJBQWdCO01BQ2hCLGVBQWM7TUFDZCxtQkFBa0I7TUFDbEIsYUFBWTtNQUNaLGdCQUFlLEVBdUJsQjtNQW5EVDtRQThCZ0IsY0FBYSxFQUloQjtRQWxDYjtVQWdDb0IsV0FwSk0sRUFxSlQ7TUFqQ2pCO1FBb0NnQixtQkFBa0I7UUFDbEIsT0FBTTtRQUNOLFFBQU87UUFDUCxhQTlKYTtRQStKYixZQUFXO1FBQ1gsYUFBWTtRQUNaLHFCQXhLVztRQXlLWCxlQWpLSTtRQWtLSixrQkFBaUI7UUFDakIsbUJBQWtCO1FBQ2xCLGFBektPO1FBMEtQLGNBbEtlO1FBbUtmLG9DQUFtQztRQUNuQyxtQ0FBa0MsRUFDckM7SUFsRGI7TUFxRFksYUFoTFc7TUFpTFgsY0EzS2dCLEVBNEtuQjs7QUM1TFQ7O3VEQUV1RDtBQUV2RDtFQUNDLG1CQUFrQixFQUNsQjs7QUFFRDs7dURBRXVEO0FBRXZEO0VBSUcscUJBQW9CO0VBQ3BCLGlCQUFlO0VBQ2YsZXhHc0ZpQixFd0dyRmpCOztBQVBIO0VBVUUsVUFBUztFQUNULGFBQVksRUFJWjtFQWZGO0lBYUcsaUJBQWUsRUFDZjs7QUFkSDtFQWlCRSxXQUFVLEVBSVY7RUFyQkY7SUFtQkcsaUJBQWUsRUFDZjs7QUFwQkg7RUF1QkUseUJBQXdCLEVBQ3hCOztBQXhCRjtFQTBCRSxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLG1CQUFrQixFQTZDbEI7RUF6RUY7SUE4QkcsYUFBWTtJQUNaLGlCQUFnQjtJQUNoQixjQUFhLEVBSWI7SUFwQ0g7TUFrQ0ksY0FBYSxFQUNiO0VBbkNKO0lBc0NHLFlBQVc7SUFDWCxhQUFZO0lBQ1osbUJBQWtCO0lBQ2xCLGdCQUFlO0lBQ2Ysb0J4R2tEaUIsRXdHakRqQjtFQTNDSDtJQTZDRyxxQkFBb0I7SUFDcEIsbUJBQWtCO0lBQ2xCLHVCQUFzQjtJQUN0QixnQkFBZTtJQUNmLFVBQVM7SUFDVCxXQUFVLEVBYVY7SUEvREg7TUFvREksbUJBQWtCO01BQ2xCLG9CQUFtQjtNQUNuQixrQkFBaUI7TUFDakIsZ0JBQWU7TUFDZixleEd5Q2tCO013R3hDbEIsV0FBVTtNQUNWLGlCQUFnQjtNQUNoQixzQkFBcUI7TUFDckIsd0JBQXVCO01BQ3ZCLG9CQUFtQixFQUNuQjtFQTlESjtJQWlFRyxvQkFBbUI7SUFDbkIsZ0JBQWU7SUFDZixrQkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLGdCQUFlO0lBQ2YsVUFBUztJQUNULFdBQVUsRUFDVjs7QUFJSDs7dURBRXVEO0FBRXZEO0VBRUUsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiw4QkFBcUI7TUFBckIsMEJBQXFCO1VBQXJCLHNCQUFxQjtFQUNyQiw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQixFQUNuQjs7QUFMRjtFQU9FLG1CQUFrQjtFQUNsQix1QkFBc0IsRUFPdEI7RUFmRjtJQVVHLGV4R09tQixFd0dIbkI7SUFkSDtNQVlJLGV4R1JhLEV3R1NiOztBQ3ZHSjtFQUNFLGV6RzBHb0I7RXlHekdwQixvQkFBbUIsRUFnQnBCO0VBbEJEO0lBSUksZXpHK0ZXLEV5RzlGWjtFQUxIO0lBT0ksWUFBVztJQUNYLHNCekc2RmtCO0l5RzVGbEIsMEJ6RzBGVztJeUd6RlgsdUJBQXNCO0lBQ3RCLGVBQWMsRUFNZjtJQWpCSDtNQWFNLGV6RzhGZ0I7TXlHN0ZoQixlQUFjO01BQ2QsdUNBQXNDLEVBQ3ZDOztBN0dzSkM7RTZHdEtOO0lBdUJJLG1CQUFrQixFQWdCbkI7SUFqQkQ7TUFHSSxlekdrRmdCLEV5R2pGakI7SUExQkw7TUE2Qk0sbUJBQWtCO01BQ2xCLGVBQWM7TUFDZCxlQUFjO01BQ2QsYUFBWTtNQUNaLGtCQUFpQjtNQUNqQixtQkFBa0IsRUFJbkIsRUFBQTs7QUMzQ0w7O3VEQUV1RDtBQUV2RDtFQUNDLG9CQUFtQixFQXdDbkI7RUF6Q0Q7SUFHRSxlQUFjO0lBQUUsNkJBQTZCO0lBQzdDLGVBQXVFO0lBQUUsNkJBQTZCO0lBQ3RHLGVBQWM7SUFDZCxnQmhCb0JvQjtJZ0JuQnBCLGlCaEIyQjZCO0lnQjFCN0Isc0JoQm9CcUI7SWdCbEJyQixpQkFBZ0I7SUFDaEIsd0JBQXVCLEVBTXZCO0k5R3NKSTtNOEd2S047UUFhRyxhQUFZO1FBQUUsNkJBQTZCO1FBQzNDLGdCQUFlO1FBQ2Ysa0JBQWlCLEVBRWxCLEVBQUE7RUFqQkY7SUFtQkUsZTFHc0VnQjtJMEdyRWhCLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsYUFBWTtJQUNaLHdCQUF1QjtJQUN2QixXQUFVO0lBQ1YsVUFBUztJQUNULGlCQUFnQjtJQUNoQixnQkFBZTtJQUNmLGtCQUFpQjtJQUNqQiwyQkFBMEIsRUFXMUI7STlHK0hJO004R3ZLTjtRQStCRyxjQUFhLEVBU2QsRUFBQTtJQXhDRjtNQWtDRyxlQUFjLEVBRWQ7SUFwQ0g7TUFzQ0csY0FBYSxFQUNiOztBQU1IO0VBRUUsYUFBWSxFQUNaOztBQUhGO0VBTUcsY0FBYSxFQUViOztBQVJIO0VBVUcsZUFBYyxFQUNkOztBQ3hESDs7dURBRXVEO0FqQmtNdkQ7RWlCekxDLDBCM0d5RmM7RTJHeEZYLDhCQUE2QjtFQUM3QixpQ0FBZ0M7RUFDaEMsMENBQXlDO0VBQ3pDLGdCQUFlLEVBcVJsQjtFL0c3SEs7SThGNkJOO01pQmxMRSx5QkFBZ0I7TUFBaEIsaUJBQWdCO01BQ2hCLFNBQVEsRUFpUlQsRUFBQTtFL0c3SEs7SStHaktOO01Ba0JHLGdCQUFlO01BQ2YsVUFBUztNQUNULFVBQVM7TUFDVCxZQUFXO01BQ1gsZUFBYztNQUNkLFlBQVcsRUFFWDtJQXpCSDtNQTZCRyxlM0dzRVc7TTJHckVSLDBCQUF5QjtNQUM1QixnQkFBZTtNQUNmLGtCQUFpQjtNQUNqQixpQmhIeEJlLEVnSDZCZjtNQXRDSDtRQW1DSSxlM0dnRVU7UTJHL0RQLDBCQUF5QixFQUM1QjtJQXJDSjtNQXlDTSx5Q0FBd0M7TUFDeEMsYUFBWTtNQUNaLFlBQVc7TUFDWCxPQUFNO01BQ04sUUFBTztNQUNQLGdCQUFlO01BQ2YsY0FBYSxFQXVEaEI7TUF0R0g7UUFpREksMEJBQXlCLEVBQ3pCO01BbERKO1FBb0RJLGdCQUFlO1FBQ2YsV0FBVTtRQUNWLFlBQVc7UUFDWCxVQUFTO1FBQ1QsU0FBUTtRQUNSLGtCQUFpQjtRQUNqQixjQUFhLEVBMkNiO1FBckdKO1VBNERLLDBCQUF5QjtVQUN6QixpQkFBZ0IsRUFDaEI7UUE5REw7VUFnRUssZ0JBQWU7VUFDZiwwQkFBeUIsRUFJekI7VUFyRUw7WUFtRU0sY0FBYSxFQUNiO1FBcEVOO1VBdUVLLDRCQUEyQjtVQUMzQix5QkFBZ0I7VUFBaEIsaUJBQWdCO1VBQ2hCLE9BQU07VUFDTiwwQjNHb0JVO1UyR25CVixhQUFZLEVBU1o7VUFwRkw7WUE2RU0sZTNHc0JRO1kyR3JCUiwwQkFBeUI7WUFDekIsaUJBQWdCO1lBQ2hCLG9CQUFtQjtZQUNuQixnQkFBZTtZQUNmLG9CQUFtQixFQUNuQjtRQW5GTjtVQXNGSyw0QkFBMkIsRUFDM0I7UUF2Rkw7VUE0RksseUJBQWdCO1VBQWhCLGlCQUFnQjtVQUNoQixVQUFTLEVBT1Q7VUFwR0w7WUErRk0sYUFBWSxFQUNaO1VBaEdOO1lBa0dNLGdCQUFlLEVBQ2YsRUFBQTtFQW5HTjtJQTRHSyx1QkFBYztRQUFkLG1CQUFjO1lBQWQsZUFBYztJQUNkLGlDM0diaUIsRTJHNkxwQjtJQTdSRjtNQWlITSxnQkFBZSxFQWlCZjtNQWxJTjtRQW1ISSxxQkFBb0I7UUFDcEIsaUJBQWdCO1FBQ2hCLG1CQUFrQjtRQUNsQixzQkFBcUI7UUFDckIsYUFBWTtRQUNaLGdCQUFlO1FBQ2YsWUFBVztRQUNYLGFBQVksRUFJVDtRL0dtQ0Q7VStHaktOO1lBNEhLLFNBQVEsRUFFTixFQUFBO01BOUhQO1FBZ0lPLGlCaEh2SFcsRWdId0hYO0lBaklQO01BcUlHLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhLEVBQ2I7SUF0SUg7TUEySU0sNEJBQW1CO1VBQW5CLHdCQUFtQjtjQUFuQixvQkFBbUI7TUFDdEIsd0JBQWU7VUFBZixvQkFBZTtjQUFmLGdCQUFlO01BQ2YsYUFBWTtNQUNaLGlCQUFnQjtNQUNoQixvQkFBbUI7TUFDbkIsd0JBQXVCLEVBNEl2QjtNQTVSSDtRQXFKSSxXQUFVO1FBQ1Ysb0JBQW1CO1FBQ25CLGFBQVksRUFvQlo7UUEzS0o7VUF5SkssZTNHdERTO1UyR3VEVCxpQkFBZ0I7VUFDaEIsb0JBQW1CO1VBQ25CLGFBQVk7VUFDWixZQUFXLEVBQ1g7UUE5Skw7VUFtS0sscUJBQW9CO1VBQ3BCLGlCQUFnQjtVQUNoQixrQkFBaUIsRUFDakI7UUF0S0w7VUF3S0ssaUJBQWdCO1VBQ2hCLGUzR2hGWSxFMkdpRlo7TUExS0w7UUFnTE8sY0FBYTtRQUVoQixpQkFBZ0I7UUFDaEIsbUJBQWtCO1FBQ2xCLGlCQUFnQjtRQUNoQixrQkFBaUI7UUFDakIsWUFBVztRQUNYLGtCQUFpQjtRQUNqQiw4QjNHeEZrQixFMkd5RmY7TUF6TFA7UUEyTEksZUFBYyxFQUNkO01BNUxKO1FBOExJLGlCQUFnQjtRQUNoQixrQkFBaUI7UUFDakIsb0JBQW1CLEVBcURoQjtRQXJQUDtVQXFNSyxlQUFjO1VBQ2QsaUJBQWdCO1VBQ2hCLG9CQUFtQjtVQUNuQixtQkFBa0I7VUFDbEIsa0JBQWlCO1VBQ2pCLG1CQUFrQixFQTBDZjtVQXBQUjtZQTRNUyxxQkFBb0I7WUFDdkIsaUJBQWdCO1lBQ2hCLGVBQWM7WUFDZCxtQkFBa0IsRUFDZjtVQWhOVDtZQWtOTSxnQkFBZTtZQUNmLG1CQUFrQjtZQUNsQixzQkFBcUI7WUFDckIsMEIzR3BIYyxFMkdrSmQ7WUFuUE47Y0F1Tk8sY0FBYTtjQUNiLGVBQWM7Y0FDZCxtQkFBa0I7Y0FDbEIsMEIzR2pJVTtjMkdrSVYsV0FBVTtjQUNWLGdCQUFlLEVBQ2Y7WUE3TlA7Y0ErTk8sZ0JBQWU7Y0FDZiwwQjNHNUhjLEUyRzZIZDtZQWpPUDtjQW1PTyxrQkFBaUI7Y0FDakIsbUJBQWtCLEVBY2xCO2NBbFBQO2dCQXNPUSxnQkFBZTtnQkFDZixlQUFjO2dCQUNkLGdCQUFlO2dCQUNmLGFBQVk7Z0JBQ1osaUJBQWdCO2dCQUNoQixtQkFBa0I7Z0JBQ2xCLFdBQVU7Z0JBQ1YsZUFBYztnQkFDZCxpQkFBZ0I7Z0JBQ2hCLG9CQUFtQjtnQkFDbkIsV0FBVSxFQUNWO00vR2hGRjtRK0dqS047VUF3UFEsV0FBVSxFQW1DZCxFQUFBO01BM1JKO1FBMlBLLGVBQWM7UUFDZCxtQkFBa0I7UUFDbEIsa0JBQWlCO1FBQ2pCLG1CQUFrQixFQTRCbEI7UUExUkw7VUFnUU0sc0JBQXFCO1VBQ3JCLGtCQUFpQjtVQUNqQixhQUFZO1VBQ1osbUJBQWtCO1VBQ2xCLHVCQUFzQjtVQUN0Qix1QkFBc0I7VUFDdEIsWUFBVztVQUNYLGFBQVksRUFVWjtVQWpSTjtZQXlRTyxzQkFBcUI7WUFDckIsbUJBQWtCO1lBQ2xCLFlBQVc7WUFDWCxhQUFZLEVBSVo7WUFoUlA7Y0E4UVEscUNBQXlDLEVBQ3pDO1FBL1FSO1VBb1JPLHNCM0czTFUsRTJHNExWO1FBclJQO1VBdVJPLGUzRzlMVSxFMkcrTFY7O0FsRjFPSDtFa0ZtUEgsU0FBUTtFQUNMLFVBQVMsRUFDWjs7QS9HbElLO0U4RjZCTjtJaUIyR0Usa0JBQWlCLEVBNkVqQjtJQXRYRjtNQThTTSxvQkFBbUI7TUFDdEIsVUFBUyxFQXNFTjtNQXJYTjtRQWtUTyxvQkFBbUIsRUFDbkI7TUFuVFA7UUF3VE8sK0JBQXNCO1lBQXRCLDJCQUFzQjtnQkFBdEIsdUJBQXNCO1FBQ3RCLDBCQUF5QjtRQUM1QixpQkFBZ0I7UUFDaEIsbUJBQWtCO1FBQ2xCLGNBQWE7UUFDYixpQkFBZ0IsRUF1RGI7UUFwWFA7VUFrVUssWUFBVyxFQUNYO1FBblVMO1VBd1VLLDhCM0d4T2lCLEUyR3dQakI7VUF4Vkw7WUFnVlMsZ0JBQWUsRUFDZjtVQXpDUjtZQTJDUSxnQkFBZSxFQUNmO1FBcFZUO1VBNFZNLG1CQUFrQixFQXNCbEI7VUFsWE47WUE4Vk8sbUJBQWtCO1lBQ2xCLFlBQVc7WUFDWCxhQUFZO1lBQ1osZUFBYztZQUNkLGtCQUFpQjtZQUNqQixXQUFVLEVBV1Y7WUE5V1A7Y0FxV1EsbUJBQWtCO2NBQ2xCLFlBQVc7Y0FDWCxhQUFZO2NBQ1osU0FBUTtjQUNSLFVBQVM7Y0FDVCxXQUFVO2NBQ1YsZUFBYztjQUNkLDhCQUE2QixFQUM3QjtVQXJFUDtZQXdFTSxrQkFBaUIsRUFDakIsRUFBQTs7QS9HaE5EO0U4RjZCTjtJaUIrTEUsT0FBTSxFQXlETjtJQXRiRjtNQWtZTSxhQUFZLEVBbURaO01BcmJOO1FBb1lPLGdCQUFlO1FBQ2Ysc0JBQXFCLEVBS3JCO1FBMVlQO1VBdVlRLGtCQUFpQjtVQUNqQixrQkFBaUIsRUFDakI7TUF6WVI7UUErWUksd0JBQXVCO1FBQ3ZCLGlCQUFnQixFQW9DaEI7UUFwYko7VUE0WlMsZ0JBQWUsRUFDZjtRQXJIUjtVQXVIUSxtQkFBa0IsRUFDbEI7UUFoYVQ7VUFzYUssYUFBWSxFQUNaLEVBQUE7O0FBa0JMOzt1REFFdUQ7QUFJdkQ7RUFDQyxjQUFhLEVBbUJiO0VBcEJEO0lBR0UsMkJBQWtCO1FBQWxCLDRCQUFrQjtnQkFBbEIsMkJBQWtCO1lBQWxCLG1CQUFrQixFQUtsQjtJQVJGO01BS0csZ0JBQWU7TUFDZixxQkFBb0IsRUFDcEI7RUFQSDtJQVdHLGdCQUFlO0lBQ2YsbUJBQWtCO0lBQ2xCLHFCQUFvQixFQUNwQjtFQWRIO0lBZ0JHLFVBQVM7SUFDVCxnQkFBZSxFQUNmOztBL0doVEc7RStHOFJOO0lBNEJJLGdCQUFlLEVBQ2Y7RUE3Qko7SUFpQ0ksZ0JBQWU7SUFDZixrQkFBaUIsRUFDakI7RUFuQ0o7SUFxQ0ksZ0JBQWUsRUFDZixFQUFBOztBQy9lSjtFQUNFLG9CNUdrR2U7RTRHakdmLGtCQUFpQjtFQUNqQixxQkFBb0IsRUFnRHJCO0VBbkREO0lBTU0sZTVHNkZXO0k0RzVGWCxxQkFBb0I7SUFDcEIsZUFBYztJQUNkLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsYUFBWTtJQUNaLHFCQUFvQjtJQUNwQixrQkFBaUI7SUFDakIsZ0JBQWU7SUFDZixhQUFZO0lBQ1osb0JBQW1CLEVBQ3RCO0VBakJIO0lBb0JJLG1CQUFrQjtJQUNsQixZQUFXLEVBMEJaO0VBL0NIO0lBaURJLFlBQVcsRUFDWjs7QUNsREg7RUFDSSxpQkFBZ0I7RUFDaEIsMEJBQXlCO0VBQ3pCLG1CQUFrQjtFQXlCbEIsZTdHbUVlLEU2R2xFbEI7RUE3QkQ7SUFNUSxlN0d5RlcsRTZHeEZkO0VBUEw7SUFTUSxtQkFBa0IsRUFDckI7RUFWTDtJQWFZLGlCQUFnQixFQUNuQjtFQWRUO0lBa0JZLGlCQUFnQixFQUNuQjtFQW5CVDtJQXNCUSxxQkFBb0I7SUFDcEIsZTdHd0VXO0k2R3ZFWCxhQUFZO0lBRVosVUFBUyxFQUNaOztBQU9MO0VBRVEsZTdHNEVjLEU2R3RFakI7RUFSTDtJQUlZLHVCQUFzQjtJQUN0QixpQkFBZ0I7SUFDaEIsbUJBQWtCLEVBQ3JCOztBQUdUO0VBQ0ksWUFBVztFQUNYLGNBQWEsRUEySGhCO0VBN0hEO0lBSVEsZTdHZ0VjLEU2RzNEakI7SWpIc0hDO01pSC9ITjtRQU1ZLGdCQUFlO1FBQ2Ysa0JBQWlCLEVBRXhCLEVBQUE7RUFUTDtJQVdRLGU3R3lEYyxFNkduRGpCO0lBakJMO01BYVksdUJBQXNCO01BQ3RCLGlCQUFnQjtNQUNoQixtQkFBa0IsRUFDckI7RUFoQlQ7SUFtQlEsb0JBQW1CO0lBQ25CLHNCQUFxQixFQUN4QjtFQXJCTDtJQXVCUSxZQUFXLEVBeUZkO0lBaEhMO01BeUJZLGlDQUFnQyxFQXFFbkM7TUE5RlQ7UUEyQmdCLGVBQWM7UUFDZCxpQkFBZ0I7UUFDaEIsVUFBUyxFQVNaO1FqSHlGUDtVaUgvSE47WUErQm9CLGFBQVksRUFPbkIsRUFBQTtRakh5RlA7VWlIL0hOO1lBbUN3QixlQUFjLEVBRXJCLEVBQUE7TUFyQ2pCO1FBd0NnQixXQUFVLEVBcURiO1FqSGtDUDtVaUgvSE47WUEwQ29CLDRCQUEyQixFQW1EbEMsRUFBQTtRakhrQ1A7VWlIL0hOO1lBNkNvQiwrQkFBOEIsRUFnRHJDLEVBQUE7UUE3RmI7VUFnRG9CLFdBQVU7VUFDVixVQUFTLEVBK0JaO1VBaEZqQjtZQW1Ed0IsZ0JBQWU7WUFDZixrQkFBaUI7WUFDakIsb0JBQW1CO1lBQ25CLG9CQUFtQjtZQUNuQixpQkFBZ0I7WUFDaEIsY0FBYTtZQUNiLFVBQVMsRUFJWjtZakhrRWY7Y2lIL0hOO2dCQTJENEIsa0JBQWlCLEVBRXhCLEVBQUE7VUE3RHJCO1lBK0R3QiwwQjdHS0Y7WTZHSkUsZTdHSlQsRTZHVU07WWpIeURmO2NpSC9ITjtnQkFrRTRCLFdBQVU7Z0JBQ1YsWUFBVztnQkFDWCxtQkFBa0IsRUFFekIsRUFBQTtVQXRFckI7WUF3RXdCLDhCQUE2QjtZQUM3QixlN0dMRixFNkdXRDtZakhnRGY7Y2lIL0hOO2dCQTJFNEIsV0FBVTtnQkFDVixhQUFZO2dCQUNaLG1CQUFrQixFQUV6QixFQUFBO0lBL0VyQjtNQWdHWTs7OENBRWtDO01BQ2xDLG9CQUFtQixFQVl0QjtNQS9HVDtRQXFHZ0IsZ0JBQWU7UUFDZixrQkFBaUI7UUFDakIsbUJBQWtCLEVBT3JCO1FqSGlCUDtVaUgvSE47WUF5R29CLGlCQUFnQixFQUt2QixFQUFBO1FBOUdiO1VBNEdvQixzQkFBcUIsRUFDeEI7RUE3R2pCO0lBa0hRLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsa0JBQWlCLEVBUXBCO0lBNUhMO01Bc0hZLGdCQUFlO01BQ2Ysa0JBQWlCO01BQ2pCLGlCbEhoSkc7TWtIaUpILHNCQUFxQjtNQUNyQixtQkFBa0IsRUFDckI7O0FBSVQ7RUFtQkksbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixzQkFBcUIsRUFTeEI7RUE5QkQ7SUFDa0Isb0JBQW1CLEVBQUc7RUFEeEM7SUFHUSxrQkFBaUI7SUFPakIsb0JBQWtCLEVBSXJCO0lqSG5CQztNaUhLTjtRQUtZLGtCQUFpQixFQVN4QixFQUFBO0lqSG5CQztNaUhLTjtRQVFZLGdCQUFlLEVBTXRCLEVBQUE7SUFkTDtNQVlZLG9CQUFtQixFQUN0QjtFQWJUO0lBZ0IyQixjQUFhLEVBQUc7RUFoQjNDO0lBa0JXLDBCQUF5QixFQUFHO0VBbEJ2QztJQXVCUSxtQkFBa0I7SUFDbEIsVUFBUztJQUNULFlBQVcsRUFJZDtJQTdCTDtNQTJCVSxxQkFBb0IsRUFDckI7O0FqSDVCSDtFa0gzS047SUFHWSxVQUFTLEVBV2hCLEVBQUE7O0FBZEw7RUFPWSxtQkFBa0IsRUFNckI7O0FBYlQ7RUFpQlEsZ0JBQWUsRUFDbEI7O0FDbEJMO0VBRVEsaUJBQWdCLEVBK0JuQjtFbkhxSUM7SW1IdEtOO01yRjJMTSwwQkFBaUI7VUFBakIsc0JBQWlCO2NBQWpCLGtCQUFpQjtNQUNqQiwrQkFBc0I7VUFBdEIsMkJBQXNCO2NBQXRCLHVCQUFzQixFcUYzSnZCLEVBQUE7RUFqQ0w7SUFhZ0IsZS9HaUdLLEUrRzdGUjtJbkgwSlA7TW1IM0tOO1FBZW9CLGNBQWEsRUFFcEIsRUFBQTtFQWpCYjtJQW1CZ0IsbUIvR3dESyxFK0d2RFI7RUFwQmI7SUF5Qm9CLG9CL0dpRkUsRStHaEZMO0VBMUJqQjtJQTRCb0IsZS9HNEVMO0krRzNFSyxvQi9HZ0VGLEUrRy9ERDs7QUM5QmpCOzt1REFFdUQ7QUFFdkQ7RUFDSSx3QkFBdUIsRUFtRTFCO0VBcEVEO0lBUVksYUFBWTtJQUNaLGlCaEhzS2M7SWdIcEtkLFdBQVU7SUFDVixlaEhnR1U7SWdIL0ZWLG1CQUFrQixFQTZCckI7SUExQ1Q7TUFnQmdCLFlBQVcsRUFDZDtJQWpCYjtNQW9CZ0Isa0JBQWlCO01BQ2pCLHFCQUFvQjtNQUNwQixpQkFBZ0I7TUFDaEIsc0JBQXFCO01BQ3JCLFlBQVc7TUFDWCxhQUFZO01BQ1osa0JBQWlCO01BQ2pCLDJCQUEwQixFQUM3QjtJQTVCYjtNQStCZ0IsMEJoSHFFRCxFZ0hwRUY7SUFoQ2I7TUFtQ2dCLG1CQUFrQjtNQUNsQixTQUFRLEVBQ1g7SUFyQ2I7TUF3Q2dCLGdCQUFlLEVBQ2xCO0VBekNiO0lBNkNZLGFBQVksRUFFZjtFQS9DVDtJQXFEUSxTQUFRO0lBQ1IsVUFBUztJQUNULGtDQUF5QjtRQUF6Qiw4QkFBeUI7WUFBekIsMEJBQXlCLEVBQzVCO0VBeERMO0lBNERRLFdBQVUsRUFDYjtFQTdETDtJQWlFUSxVQUFTLEVBQ1o7O0FDbEVMO0VBQ0ksMEJBQXlCO0VBQ3pCLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLHFCQUFvQjtFQUNwQixrQkFBaUI7RUFDakIsY0FBYTtFQUNiLGtCQUFpQixFQXlEcEI7RUFqRUQ7SUFVUSxjQUFhO0lBQ2IsWUFBVztJQUNYLHFCQUFvQixFQUN2QjtFQWJMO0lBZVEsZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLG9CQUFtQixFQUN0QjtFQW5CTDtJQXFCUSx5QkFBb0I7SUFBcEIscUJBQW9CLEVBQ3ZCO0VBdEJMO0lBeUJZLHlGQUF3RjtJQUN4Riw2QkFBNEI7SUFDNUIsNEJBQTJCLEVBQzlCO0VBNUJUO0lBZ0NZLHlGQUF3RjtJQUN4Riw2QkFBNEI7SUFDNUIsNEJBQTJCLEVBQzlCO0VBbkNUO0lBc0NRLGFBQVksRUEwQmY7SUFoRUw7TUF3Q1ksNkJBQW9CO01BQXBCLDRCQUFvQjtNQUFwQixxQkFBb0IsRUF1QnZCO01BL0RUO1FBMENnQixtQkFBa0IsRUFTckI7UXJIb0hQO1VxSHZLTjtZQTZDb0IsbUJBQWtCLEVBTXpCLEVBQUE7UXJIb0hQO1VxSHZLTjtZQWlEb0IsbUJBQWtCLEVBRXpCLEVBQUE7TUFuRGI7UUFxRGdCLGtCQUFpQixFQVNwQjtRckh5R1A7VXFIdktOO1lBd0RvQixrQkFBaUIsRUFNeEIsRUFBQTtRckh5R1A7VXFIdktOO1lBNERvQixrQkFBaUIsRUFFeEIsRUFBQTs7QXBIc0ZYO0VxSHZKRSxtQkFBa0I7RUFDbEIsaUJBQWdCLEVBZW5CO0VBakJEO0lBTVksbUJBQWtCO0lBQ2xCLGdCQUFlO0lBQ2YsU0FBUTtJQUNSLE9BQU07SUFDTixlbEh5RkssRWtIcEZSO0lBZlQ7TUFhZ0IsZWxIc0ZDLEVrSHJGSjs7QUNWYjtFQUNJLGFBQVk7RUFDWixhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQixvQkFBbUI7RUFDbkIscUJBQW9CLEVBd0Z2QjtFdkh5RUs7SXVIdktOO01BU1EsV0FBVTtNQUNWLGlCQUFnQjtNQUNoQixrQkFBaUIsRUFtRnhCLEVBQUE7RXZIeUVLO0l1SHZLTjtNQWVRLFdBQVU7TUFDVixpQkFBZ0I7TUFDaEIsa0JBQWlCO01BQ2pCLG1CQUFrQixFQTRFekIsRUFBQTtFQTlGRDtJQXNCUSxlbkhpRlk7SW1IaEZaLG1CQUFrQjtJQUNsQixxQkFBb0IsRUFDdkI7RUF6Qkw7SUE0QlEscUJBQW9CLEVBQ3ZCO0VBN0JMO0lBK0JRLG1CQUFrQixFQUlyQjtJQW5DTDtNQWlDWSxhQUFZLEVBQ2Y7RUFsQ1Q7SUFzQ1EscUJBQW9CO0lBQ3BCLGtCQUFpQixFQUNwQjtFQXhDTDtJQTBDUSxtQkFBa0IsRUFLckI7SUEvQ0w7TUE0Q1ksYUFBWTtNQUNaLGlCQUFnQixFQUNuQjtFQTlDVDtJQWlEUSxtQkFBa0I7SUFDbEIsYUFBWSxFQUNmO0VBbkRMO0lBcURRLGFBQVk7SUFDWixtQkFBa0I7SUFDbEIsYUFBWTtJQUNaLFdBQVU7SUFDVixtQkFBa0I7SUFDbEIscUJBQW9CLEVBQ3ZCO0VBM0RMO0lBOERRLFdBQVU7SUFDVixZQUFXLEVBVWQ7SUF6RUw7TUFpRVksa0JBQWlCLEVBQ3BCO0lBbEVUO01Bb0VZLDBCbkhnQ0c7TW1IL0JILGFBQVk7TUFDWiw0Q0FBMEM7TUFDMUMsaUJBQWdCLEVBQ25CO0VBeEVUO0lBMkVRLFdBQVU7SUFDVixZQUFXLEVBVWQ7SUF0Rkw7TUE4RVksa0JBQWlCLEVBQ3BCO0lBL0VUO01BaUZZLDBCbkhtQkc7TW1IbEJILGFBQVk7TUFDWiw0Q0FBMEM7TUFDMUMsaUJBQWdCLEVBQ25CO0VBckZUO0lBd0ZRLFdBQVU7SUFDVixZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJQUNqQixpQkFBZ0IsRUFDbkI7O0FDN0ZMO0VBQ0ksbUJBQWtCO0VBQ2xCLDBCcEgwR2tCO0VvSHpHbEIscUJBQW9CO0VBQ3BCLG9CQUFtQixFQWV0QjtFQW5CRDtJQU1RLDBCcEhzR2M7SW9IckdkLGVwSDZGTztJb0g1RlAsMkJBQTBCO0lBQzFCLG1CQUFrQixFQUNyQjtFQVZMO0lBWVEsY0FBYSxFQUNoQjtFQWJMO0lBZVEsaUJ6SENPO0l5SEFQLDJCQUEwQjtJQUMxQixhQUFZLEVBQ2Y7O0FBRUw7RUFFUSxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLDBCQUF5QixFQTJCNUI7RUEvQkw7SUFNWSwwQkFBeUI7SUFDekIsZXBIeUVHO0lvSHhFSCwyQkFBMEI7SUFDMUIsbUJBQWtCLEVBQ3JCO0VBVlQ7SUFZWSxjQUFhLEVBQ2hCO0VBYlQ7SUFlWSwyQkFBMEIsRUFjN0I7SUE3QlQ7TUFpQmdCLGVwSHVFTTtNb0h0RU4sYUFBWSxFQU1mO01BeEJiO1FBb0JvQix1QkFBc0I7UUFDdEIsaUJBQWdCO1FBQ2hCLGtCQUFpQixFQUNwQjtJQXZCakI7TUEwQmdCLGlCekg5QkQ7TXlIK0JDLDJCQUEwQixFQUM3Qjs7QUFLYjtFQUNJLGlCQUFnQixFQUNuQjs7QUMzREQ7RUFFSSxtQkFBa0I7RUFDbEIsMEJySDZHa0I7RXFINUdsQixxQkFBb0I7RUFDcEIsb0JBQW1CLEVBa0JwQjtFQXZCSDtJQVFNLDBCckh3R2dCO0lxSHZHaEIsZXJIK0ZTO0lxSDlGVCwyQkFBMEI7SUFDMUIsbUJBQWtCLEVBQ25CO0VBWkw7SUFlTSxjQUFhLEVBQ2Q7RUFoQkw7SUFtQk0saUIxSENTO0kwSEFULDJCQUEwQjtJQUMxQixhQUFZLEVBQ2I7O0FBdEJMO0VBMEJJLG1CQUFrQjtFQUNsQixvQkFBbUI7RUFDbkIsMEJBQXlCLEVBdUMxQjtFQW5FSDtJQStCTSwwQkFBeUI7SUFDekIsZXJId0VTO0lxSHZFVCwyQkFBMEI7SUFDMUIsbUJBQWtCLEVBQ25CO0VBbkNMO0lBc0NNLGNBQWEsRUFDZDtFQXZDTDtJQTBDTSwyQkFBMEIsRUF1QjNCO0lBakVMO01BNkNRLGVySG1FYztNcUhsRWQsYUFBWSxFQU9iO01BckRQO1FBaURVLHVCQUFzQjtRQUN0QixpQkFBZ0I7UUFDaEIsa0JBQWlCLEVBQ2xCO0lBcERUO01Bd0RRLGlCMUhwQ087TTBIcUNQLDJCQUEwQixFQUMzQjtJQTFEUDtNQTZEUSxpQjFIekNPO00wSDBDUCwyQkFBMEI7TUFDMUIsYUFBWSxFQUNiOztBQU1QO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQUVEO0VBQ0UsMEJBQXlCLEVBMkMxQjtFQTVDRDs7SUFLSSwwQnJIeUJXO0lxSHhCWCxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLGtCQUFpQjtJQUNqQixpQkFBZ0I7SUFDaEIsNkJySDBCaUI7SXFIekJqQixpQkFBZ0IsRUFDakI7RUFaSDtJQWVJLDBCQUF5QjtJQUN6QixlckhjVztJcUhiWCwyQkFBMEI7SUFDMUIsbUJBQWtCLEVBY25CO0lBaENIO01BcUJNLGVySFNTO01xSFJULDhCQUE2QjtNQUM3QixXQUFVO01BQ1YsYUFBWTtNQUNaLG1CQUFrQjtNQUNsQixpQjFIaEZTLEUwSGlGVjtJQTNCTDtNQThCTSxlQUFjLEVBQ2Y7SUEvQkw7TUE4Qk0sZUFBYyxFQUNmO0lBL0JMO01BOEJNLGVBQWMsRUFDZjtFQS9CTDtJQW9DTSw4QkFBNkIsRUFNOUI7SUExQ0w7TUF1Q1Esa0JBQWlCO01BQ2pCLHVCQUFzQixFQUN2Qjs7QUNuSFA7RUFDRSxZQUFXO0VBQ1gsZUFBYztFQUNkLGFBQVk7RUFDWixnQkFBZTtFQUNmLFVBQVM7RUFDVCxRQUFPO0VBQ1AsU0FBUSxFQW1CVDtFQTFCRDtJQVNJLGNBQWEsRUFDZDtFQVZIO0lBYUksY0FBYSxFQUlkO0lBakJIO01BZU0sZUFBYyxFQUNmO0VBaEJMO0lBbUJDLFVBQVM7SUFDVCxrQkFBaUIsRUFLZjtJQXpCSDtNQXNCTSxpQkFBZ0I7TUFDZCx1QkFBc0IsRUFDekI7O0FBSUw7RXhGa0JFLG1CQUFrQjtFQUNsQixzQjlCa1M0QjtFOEJqUzVCLGM5QmtTb0I7RThCaFNwQix5QzlCOERvQjtFOEI3RHBCLG1COUI0QmlCO0VzSGpEakIsaUJBQWdCO0VBQ2hCLGNBQWE7RUFDYiw4QnRIcUZjLEVzSHBGZjtFeEZxQkM7SUFDRSxjQUFhLEVBQ2Q7RUFFRDtJQUNFLGlCQUFnQixFQUNqQjs7QXdGekJIO0VBQ0UsZXRIaUZjO0VzSGhGZCxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxldEh3RWM7RXNIdkVkLHNDQUFxQyxFQUN0Qzs7QUFFRDtFdkd3Q0Usc0JBQXFCO0VBQ3JCLHVCQUFzQjtFQUN0QixtQmZtTmtDO0Vlek1oQyxvQmZ3TXVCO0Vlck16Qiw4QkFBNkI7RUFDN0IsbUJmMUJpQjtFZTJCakIsa0Vmc051RTtFZXJOdkUscUJmaU0wQjtFZWhNMUIsa0JmNk1lO0VlNU1mLHlCQUF3QjtFQUN4QixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGdCQUFlO0V1RzdEZixldEhxRGE7RXNIcERiLGlCQUFnQixFQUNqQjtFN0gwNlZDO0lRcnhWRSxXQUFVLEVBQ1g7O0FxSHBKSDtFdkc4RkUsMEJmaENjO0VlaUNkLGVmOUNhLEVzSC9DZDtFdkcrRkM7SUFDRSwwQmZuQ2lCO0llb0NqQixlZmxEVyxFZW1EWjs7QXVHakdIO0V2RzJGRSwwQmYxQ2tCO0VlMkNsQixlZjlDYSxFc0g1Q2Q7RXZHNEZDO0lBQ0UsMEJmM0NpQjtJZTRDakIsZWZsRFcsRWVtRFo7O0FuQldHO0UwSHhHTjtJQUVFLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhLEVBRWQsRUFBQTs7QUFFRDtFQUNDLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhLEVBTWI7RTFIMkZLO0kwSGxHTjtNQUlHLG1CQUFrQixFQUNsQixFQUFBOztBQUlIO0VBQ0MsaUJBQWdCLEVBQ2hCOztBQUVEO0VBQ0Usa0JBQWlCO0VBQ2pCLHNCQUFxQixFQUN0Qjs7QUNwRkQsaUNBQWlDO0FBRWpDO0VBQ0UsdUJBQXNCO0VBQ3RCLGlCQUFnQjtFQUVoQixvQkFBbUI7RUFDbkIsWUFBVztFQUNYLGNBQWE7RUFDYixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixZQUFXLEVBSVo7RTNIc0pLO0kySHBLTjtNQVlJLG9CQUFtQixFQUV0QixFQUFBOztBQUVEO0VBR0kscUJsSG1FcUQ7RWtIbEVyRCxnQkFBYztFQUNkLFVBQVEsRUFTVDtFQWRIO0lBT00sZXZIOEprQjtJdUg3SmxCLHVCQUFzQjtJQUN0QixtQkFBa0IsRUFDbkI7O0FBVkw7RUFpQkksbUJBQWtCO0VBQ2xCLGFBQVksRUFDYjs7QUFuQkg7RUFzQkksdUJBQXNCO0VBQ3RCLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsWUFBVztFQUNYLGNBQWE7RUFDYixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixZQUFXLEVBQ1o7O0FBL0JIO0VBb0NJLGlCdkhvQmdCO0V1SG5CaEIsb0J2SG1CZ0IsRXVIbEJqQjs7QUF0Q0g7RUF5Q0ksaUJBQWdCO0VBQ2hCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isd0JsSDJCcUQ7RWtIMUJyRCwrQkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQixFQVF2QjtFQXBESDs7SUFnRE0saUJBQWdCO0lBQ2hCLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isd0JBQXVCLEVBQ3hCOztBQW5ETDtFQXdESSxvQmxIY3FEO0VrSGJyRCxtQmxIYXFEO0VrSFpyRCxhQUFZO0VBQ1osa0JBQWlCLEVBQ2xCOztBQTVESDtFQStESSxZQUFXO0VBQ1gsbUJ2SFJnQixFdUhVakI7O0FBbEVIO0VBdUVJLHFCbEhEcUQ7RWtIRXJELHFCbEhGcUQ7RWtIR3JELHNCQUFxQjtFQUNyQixpQkFBZ0IsRUFDakI7O0FBM0VIO0VBOEVJLDBCQUF5QjtFQUN6QixtQkFBa0I7RUFDbEIsWUFBVztFQUNYLGFBQVk7RUFDWixvQkFBbUI7RUFDbkIsaUJBQWdCO0VBQ2hCLHFDQUFvQztFQUNwQyxtQkFBa0I7RUFDbEIsWUFBVztFQUNYLGtCQUFpQjtFQUNqQiwyQkFBMEI7RUFXMUIsdURBQXNEO0VBQ3RELDZCQUE0QjtFQUM1Qix5QkFBd0IsRUFDekI7RUF0R0g7SUEwRk0sbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxZQUFXO0lBQ1gsYUFBWTtJQUNaLG1CQUFrQjtJQUNsQixrQkFBaUI7SUFDakIsWUFBVyxFQUNaOztBQWpHTDtFQXlHSSxZQUFXO0VBQ1gsV0FBVSxFQUNYOztBQTNHSDtFQThHSSxZQUFXO0VBQ1gsV0FBVSxFQUNYOztBQWhISDtFQXFISSxrQkFBaUI7RUFDakIsZUFBYyxFQUdmOztBQXpISDtFQTRISSx3QkFBdUI7RUFDdkIsbUJBQWtCO0VBQ2xCLHFCQUFvQjtFQUNwQixpQkFBZ0I7RUFDaEIsaUJsSDFEcUQ7RWtIMkRyRCwyQ0FBeUM7RUFFekMsbUNBQWlDLEVBQ2xDOztBQUVEO0VBQTBCO0lBQU8sa0NBQWlDLEVBQUEsRUFBQTs7QUFDbEU7RUFBa0I7SUFBTyxrQ0FBaUM7SUFBRSwwQkFBd0IsRUFBQSxFQUFBOztBQUl0RjtFQUNFLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBQ2YsWUFBVztFQUNYLHNCQUFxQixFQU10QjtFQVhEO0lBT0ksZ0JBQWU7SUFDZixnQkFBZTtJQUNmLHVCQUFzQixFQUN2Qjs7QUFHSDtFQUNFLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLGFBQVk7RUFDWixnQkFBZTtFQUNmLFlBQVc7RUFDWCxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGVBQWEsRUFJZDtFQVpEO0lBVUksMkNBQXVDLEVBQ3hDOztBQVhIO0VBZUUsZ0JBQWU7RUFDZixtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLGdCQUFlO0VBQ2YsWUFBVztFQUNYLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsZUFBYSxFQUlkO0VBMUJEO0lBd0JJLDJDQUF1QyxFQUN4Qzs7QUFHSDtFQUNFLG1CQUFrQjtFQW9CbEIsa0JBQWlCO0U5QjVNZixnQ0FBMEI7VUFBMUIsd0JBQTBCLEU4QnFON0I7RTNIekRLO0kySDJCTjtNQUlJLHFCQUFvQjtNQUNwQixtQkFBa0IsRUF5QnJCLEVBQUE7RUE5QkQ7SUFTSSxtQkFBa0I7SUFDbEIsZUFBYztJQUNkLG1CQUFrQixFQVFuQjtJQW5CSDtNQWVNLGdCQUFlO01BQ2YsYUFBWTtNQUNaLG9CQUFtQixFQUNwQjtFQWxCTDtJQTBCSSxZQUFXO0lBQ1gsa0JBQWlCO0lBQ2pCLGFBQVksRUFDYjs7QUF6REg7RUE2REUsa0JBQWlCO0VBQ2pCLGtCQUFpQixFQXdGbEI7RUExRkQ7SUFLSSxzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLFVBQVMsRUFvRFY7STNIMUhHO00ySGdFTjtRQVFNLGlCQUFnQixFQWtEbkIsRUFBQTtJQTFESDtNQVlNLGtCQUFpQjtNQUNqQixpQkFBZ0I7TUFDaEIsbUNBQTBCO1VBQTFCLCtCQUEwQjtjQUExQiwyQkFBMEIsRUEwQzNCO01BeERMO1FBZ0JVLGNBQWEsRUFDZDtNQWpCVDtRQW1CUSxjQUFhLEVBQ2Q7TUFwQlA7UUFzQlEsa0JBQWlCO1FBQ2pCLGtCQUFpQjtRQUNqQixhQUFZO1FBQ1osWUFBVztRQUNYLGtCQUFpQixFQUNsQjtNQTNCUDtRQTZCUSxlQUFhO1FBQ2IsZ0NBQXVCO1lBQXZCLHNCQUF1QjtnQkFBdkIsd0JBQXVCO1FBQ3ZCLFlBQVc7UUFDWCxzQkFBYTtZQUFiLGtCQUFhO2dCQUFiLGNBQWE7UUFDYixhQUFZLEVBQ2I7TUFsQ1A7UUFvQ1EsbUJBQWtCO1FBQ2xCLFlBQVc7UUFDWCxhQUFZO1FBQ1osa0JBQWlCO1FBQ2pCLFlBQVcsRUFlWjtRQXZEUDtVQTBDVSxZQUFXLEVBQ1o7UUEzQ1Q7VUE2Q1UsYUFBWTtVQUNaLFlBQVc7VUFDWCxrQkFBaUI7VUFDakIsWUFBVztVQUlYLCtCQUEyQjtVQUMzQiw0QkFBMkIsRUFDNUI7VTNIdEhIO1kySGdFTjtjQWtEWSxpQkFBZ0IsRUFJbkIsRUFBQTtFQXREVDtJQTRESSwrQkFBMkI7SUFDM0IsbUJBQWtCO0lBQ2xCLFNBQVE7SUFDUixhQUFZO0lBQ1osWUFBVztJQUNYLDhCQUFxQjtRQUFyQiwyQkFBcUI7WUFBckIsc0JBQXFCLEVBS3RCO0lBdEVIO01BbUVNLCtCQUEyQjtNQUMzQiw0QkFBMkIsRUFDNUI7RUFyRUw7SUF5RUksU0FBUSxFQUNUO0VBMUVIO0lBNEVJLFFBQU8sRUFDUjtFQTdFSDtJQWlGTSxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLE9BQU07SUFDTixhQUFZO0lBQ1osK0JBQTRCO0lBQzVCLGFBQVksRUFDYjs7QUFJTDtFQUNFLG1CQUFrQjtFQUNsQixrQkFBaUIsRUFDbEI7O0FBQ0Q7RUFDRSxnQkFBZTtFQUNmLG1CQUFrQjtFQUNsQixZQUFXLEVBWVo7RUFmRDs7SUFNSSxnQkFBZTtJQUNmLG1CQUFrQjtJQUNsQixnQkFBZTtJQUNmLFlBQVc7SUFDWCxzQkFBcUIsRUFJdEI7SUFkSDs7TUFZTSxzQkFBcUIsRUFDdEI7O0FBSUw7RUFDRSxhQUFZLEVBQ2I7O0FBRUQ7RUFFSSxzQkFBcUI7RUFDckIsZ0JBQWUsRUFDaEI7O0FBR0g7RUFDRSxnQkFBZSxFQUNoQjs7QUNsV0Q7RUFnQkUsb0JBQW9CO0VBNElwQixpQkFBaUIsRUF1Q2xCO0VBbk1EO0lBRUksY0FBYSxFQUNkO0VBSEg7SUFNSSxjQUFhO0lBQ2IsbUJBQWtCLEVBQ25CO0VBUkg7SUFXSSxpQkFBZ0I7SUFDaEIsb0JBQW1CO0lBQ25CLGlCQUFnQixFQUNqQjtFQWRIO0lBa0JJLFVBQVMsRUErRFY7SUFqRkg7TUFxQk0sY0FBYSxFQTJEZDtNQWhGTDtRQXdCUSxlQUFjLEVBQ2Y7TUF6QlA7UUE0QlEsbUJBQWtCLEVBVW5CO1FBdENQO1VBZ0NVLDRCQUEyQjtVQUMzQixhQUFZLEVBRWI7TUFuQ1Q7UUF5Q1EsV0FBVSxFQUNYO01BMUNQO1FBNkNRLG1CQUFrQixFQW1CbkI7UUFoRVA7VUErQ1UsNEJBQTJCLEVBQzVCO1FBaERUO1VBc0RZLGlCQUFnQjtVQUNoQixzQkFBcUIsRUFDdEI7UUF4RFg7O1VBNkRVLG1CQUFrQjtVQUNsQixZQUFXLEVBQ1o7TUEvRFQ7UUFtRVEsMEJBQXlCLEVBQzFCO01BcEVQO1FBeUVRLDhCQUE2QixFQU05QjtRQS9FUDtVQTZFVSx3QkFBdUIsRUFDeEI7RUE5RVQ7SUFvRkksc0JBQXFCO0lBQ3JCLHVCQUFzQjtJQUN0QixtQkFBa0I7SUFDbEIsYUFBWSxFQXlCYjtJQWhISDtNQTJGTSxnQm5ISm1ELEVtSEtwRDtJQTVGTDtNQStGTSxlQUFjO01BQ2Qsb0JBQW1CLEVBQ3BCO0lBakdMO01Bb0dNLGVBQWM7TUFDZCxvQkFBbUIsRUFDcEI7SUF0R0w7TUF5R00sZ0JuSGxCbUQsRW1IbUJwRDtJQTFHTDtNQTZHTSxlQUFjO01BQ2Qsb0JBQW1CLEVBQ3BCO0VBL0dMO0lBbUhJLG9CQUFtQixFQUNwQjtFQXBISDtJQXVISSxzQkFBcUI7SUFDckIsdUJBQXNCO0lBQ3RCLG1CQUFrQjtJQUNsQixhQUFZO0lBQ1osYUFBWTtJQUNaLG1CQUFrQjtJQUNsQixrQkFBaUIsRUE0QmxCO0lBekpIO01BZ0lNLGdCbkh6Q21ELEVtSDBDcEQ7SUFqSUw7TUFvSU0sZUFBYztNQUNkLG9CQUFtQixFQUNwQjtJQXRJTDtNQXlJTSxnQm5IbERtRCxFbUhtRHBEO0lBMUlMO01BNklNLGVBQWM7TUFDZCxvQkFBbUIsRUFDcEI7SUEvSUw7TUFrSk0sZ0JuSDNEbUQsRW1INERwRDtJQW5KTDtNQXNKTSxlQUFjO01BQ2Qsb0JBQW1CLEVBQ3BCO0VBeEpMO0lBOEpJLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsbUJBQWtCO0lBQ2xCLHNCQUFxQjtJQUNyQix1QkFBc0I7SUFDdEIsYUFBWTtJQUNaLG1CQUFrQjtJQUNsQixzQkFBcUI7SUFDckIsbUJ4SDdGZ0I7SXdIOEZoQiwwQnhIM0VjLEV3SHNHZjtJQWxNSDtNQTBLTSxpQ0FBZ0M7TUFDaEMsZ0I5QjlJZ0I7TThCK0loQixhQUFZLEVBQ2I7SUE3S0w7TUFnTE0sZ0JBQWU7TUFDZiw4QkFBNkI7TUFDN0IsY0FBYTtNQUNiLGFBQVksRUFTYjtNQTVMTDtRQXNMUSw4QkFBNkI7UUFDN0Isc0JBQXFCO1FBQ3JCLGFBQVk7UUFDWixvQkFBbUI7UUFDbkIsZ0JBQWUsRUFDaEI7SUEzTFA7TUErTE0sZ0NBQWtDO01BQ2xDLHVCQUFzQixFQUN2Qjs7QUFJTDtFQUNFLHVCQUFzQixFQUN2Qjs7QUN4TUQ7RUFDSSxpQnpIeUVnQjtFeUh4RWhCLG9Cekh3RWdCLEV5SHJEbkI7RUFyQkQ7SUFNZ0Isb0J6SG1HTztJeUhsR1AsMEJ6SG1HTTtJeUhsR04sZUFBYyxFQVVqQjtJQWxCYjtNQVlvQiw0QnpIcVYwRCxFeUhoVjdEO01BakJqQjtRQWV3QixlQUFjLEVBQ2pCOztBQ1ZyQjtFQUdZLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsZTFINkZHO0UwSDVGSCxtQ0FBa0M7RUFDbEMsdUJBQXNCO0VBQ3RCLGNBQWEsRUFxRWhCO0U5SHdGSDtJOEhyS047TUFhZ0IsY0FBYSxFQWdFcEIsRUFBQTtFQTdFVDtJQWlCZ0IsbUJBQWtCO0lBQ2xCLFlBQVcsRUFDZDtFQW5CYjtJQXFCZ0IsZUFBYztJQUNkLFlBQVc7SUFFWCxtQkFBa0I7SUFDbEIsYUFBWTtJQUNaLGdCQUFlLEVBa0RsQjtJOUh5RlA7TThIcktOO1FBOEJvQixVQUFTO1FBQ1QsZUFBYyxFQTZDckIsRUFBQTtJQTVFYjtNQW1Db0IsY0FBYTtNQUNiLFdBQVU7TUFDVixnQkFBZTtNQUNmLGtCQUFpQjtNQUNqQixpQi9IMUJGLEUrSDRDRDtNOUh1R1g7UThIaEtOO1VBNEN3QixnQkFBZTtVQUNmLGtCQUFpQixFQVl4QixFQUFBO005SDRHWDtROEhyS047VUFtRHdCLGdCQUFlO1VBQ2Ysa0JBQWlCLEVBS3hCLEVBQUE7TUF6RGpCO1FBdUR3QixjQUFhLEVBQ2hCO0lBeERyQjtNQTJEb0IsY0FBYTtNQUNiLGdCQUFlO01BQ2Ysa0JBQWlCLEVBY3BCO005SHFGWDtROEhoS047VUFrRXdCLGdCQUFlLEVBU3RCLEVBQUE7TTlIMEZYO1E4SHJLTjtVQXdFd0IsZ0JBQWU7VUFDZixrQkFBaUIsRUFFeEIsRUFBQTs7QTlIMEZYO0U4SHJLTjtJQXFGb0IsbUJBQWtCO0lBQ2xCLFVBQVMsRUFDWjtFQXZGakI7SUE0Rm9CLG1CQUFrQjtJQUNsQixhQUFZLEVBQ2Y7RUE5RmpCO0lBbUdvQixtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLFVBQVM7SUFDVCxvQ0FBMkI7UUFBM0IsZ0NBQTJCO1lBQTNCLDRCQUEyQixFQUM5QjtFQXZHakI7SXpIbU9FLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1Isb0NBQTJCO1FBQTNCLGdDQUEyQjtZQUEzQiw0QkFBMkIsRXlIeEhaO0VBN0dqQjtJQWtIb0IseUNBQWdDO1FBQWhDLHFDQUFnQztZQUFoQyxpQ0FBZ0MsRUFDbkM7RUFuSGpCO0lBd0hvQixtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLFdBQVUsRUFDYjtFQTNIakI7SUFnSW9CLFlBQVc7SUFDWCxXQUFVO0lBQ1YsV0FBVSxFQUNiO0VBbklqQjtJQXdJb0IsV0FBVSxFQUNiO0VBeklqQjtJQThJb0IsV0FBVSxFQUNiLEVBQUE7O0FDcEpqQjs7dURBRXVEO0FBSXZEO0VBQ0ksbUJBQWtCO0VBQ2xCLG9CM0hpRWdCLEUySDREbkI7RS9IcUNLO0krSHBLTjtNQUlRLGlCQUFnQjtNQUNoQixvQkFBaUM7TUFDakMsa0JBQWlCLEVBeUh4QixFQUFBO0UvSHFDSztJK0hwS047TUFTUSxrQkFBaUIsRUFzSHhCLEVBQUE7RUEvSEQ7SUFhUSxZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQixjQUFhLEVBb0JoQjtJL0hnSUM7TStIcEtOO1FBa0JZLG1CQUFrQjtRQUNsQixnQkFBZTtRQUNmLGlCQUFnQjtRQUNoQixhQUFZLEVBZW5CLEVBQUE7SUFwQ0w7TUF3QlksbUJBQWtCO01BQ2xCLFNBQVE7TUFDUixTQUFRO01BQ1IsZ0JBQWU7TUFDZixnQkFBZTtNQUNmLGlCQUFnQjtNQUNoQixvQ0FBMkI7VUFBM0IsZ0NBQTJCO2NBQTNCLDRCQUEyQixFQUs5QjtNL0hpSUg7UStIcEtOO1VBZ0NnQix3QkFBZTtjQUFmLG9CQUFlO2tCQUFmLGdCQUFlO1VBQ2YsT0FBTSxFQUViLEVBQUE7RUFuQ1Q7SUF1Q1EsMkJBQTBCO0lBQzFCLGVBQWM7SUFDZCx5Q0FBdUMsRUE0RDFDO0kvSCtEQztNK0hwS047UUE0Q1ksZUFBYyxFQXlEckIsRUFBQTtJQXJHTDtNQWdEWSxpQmhJcENNLEVnSXdDVDtNL0hnSEg7UStIcEtOO1VBa0RnQixtQkFBa0IsRUFFekIsRUFBQTtJL0hnSEg7TStIcEtOO1FBdURnQixtQkFBa0IsRUE2Q3pCLEVBQUE7SUFwR1Q7TUEwRGdCLGVBQWM7TUFBRSw2QkFBNkI7TUFDN0MscUJBQW9CO01BQ3BCLGdCQUFnRTtNQUFFLDZCQUE2QjtNQUUvRixlQUFjO01BQ2QsZ0JqQ3hDTTtNaUN5Q04sa0JqQ3hDUTtNaUN5Q1Isc0JqQ3hDTztNaUMwQ1AsaUJBQWdCO01BQ2hCLHdCQUF1QixFQVkxQjtNL0hvRlA7UStIcEtOO1VBc0VvQixhQUFnRTtVQUFFLDZCQUE2QjtVQUMvRixnQmpDNUNFO1VpQzhDRixlakM3Q0M7VWlDZ0RELHNCakMvQ0csRWlDbURWLEVBQUE7SUFoRmI7TUFrRmdCLGlCQUFnQixFQWlCbkI7TS9IaUVQO1ErSHBLTjtVQXFGb0IsZTNIQ0Y7VTJIQUUsaUJBQWdCO1VBQ2hCLGFBQVk7VUFDWix3QkFBdUI7VUFDdkIsV0FBVTtVQUNWLGdCakNuRUU7VWlDb0VGLDJCQUEwQixFQVFqQyxFQUFBO01BbkdiO1FBOEZvQixlQUFjLEVBQ2pCO01BL0ZqQjtRQWlHb0IsY0FBYSxFQUNoQjtFQWxHakI7SUEyR2dCLGVBQWM7SUFDZCxhQUFZO0lBQ1osa0JBQWlCLEVBQ3BCO0VBOUdiO0lBaUhvQixjQUFhLEVBQ2hCO0VBbEhqQjtJQW9Ib0IsZUFBYyxFQUNqQjtFL0grQ1g7SStIcEtOO01BeUhZLHFDQUFvQztNQUNwQywyQ0FBMEM7TUFDMUMsWUFBVztNQUNYLGNBQWEsRUFFcEIsRUFBQTs7QUNySUw7RUFFUSxtQkFBa0I7RUFDbEIsc0JBQXFCO0VBQ3JCLGlCQUFnQixFQWNuQjtFQWxCTDtJQU1ZLDhDQUFxQztJQUFyQyxzQ0FBcUM7SUFBckMseUVBQXFDLEVBQ3hDO0VBUFQ7SUFXZ0IsOEJBQXFCO1FBQXJCLDBCQUFxQjtZQUFyQixzQkFBcUIsRUFDeEI7RUFaYjtJQWNnQixlNUgwRkQ7STRIekZDLG9CNUhpR00sRTRIaEdUOztBQWhCYjtFQW9CUSxtQkFBa0I7RUFDbEIsVUFBUztFQUNULFNBQVE7RUFDUixlNUhpRk87RTRIaEZQLG1DQUFvQztFQUNwQyxpQkFBZ0I7RUFDaEIscUJBQW9CO0VBQ3BCLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZiw4Q0FBNkMsRUFDaEQ7O0FDL0JMO0VBQ0ksb0I3SHlFZ0IsRTZIN0RuQjtFQWJEO0lBS1ksbUJBQWtCO0lBQ2xCLGVBQWM7SUFDZCwwQkFBeUI7SUFDekIsYzdIbUVTO0k2SGxFVCxvQkFBbUI7SUFDbkIsZ0JBQWUsRUFDbEI7O0FDUFQ7RTFINkJFLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsNEJBSHFCO01BR3JCLHdCQUhxQjtVQUdyQixvQkFIcUIsRTBIZGxCO0VBYkw7SXhIbURJLHNCQUFhO1FBQWIsa0JBQWE7WUFBYixjQUFhO0lBMkJiLFlBQW1CO0lIekNqQix1QkFBNkQ7SUFBN0Qsc0JBQTZELEUySHpCMUQ7SWxJMkpIO01rSXZLTjtReEg4Q0ksdUJBQWM7WUFBZCxtQkFBYztnQkFBZCxlQUFjO1FBQ2QsZ0JBQWU7UUFDZixlQUFjO1FBMkJkLDRCQUQ0RTtRSHJDMUUsdUJBQTZEO1FBQTdELHNCQUE2RCxFMkh6QjFELEVBQUE7SUFaVDtNL0dxRkUsc0JBQXFCO01BQ3JCLHVCQUFzQjtNQUN0QixtQmZtTmtDO01lek1oQyxvQmZ3TXVCO01lck16Qiw4QkFBNkI7TUFDN0IsbUJmMUJpQjtNZTJCakIsa0Vmc051RTtNZXJOdkUscUJmaU0wQjtNZWhNMUIsa0JmNk1lO01lNU1mLHlCQUF3QjtNQUN4QixlQUFjO01BQ2QsbUJBQWtCO01BQ2xCLGdCQUFlO01Bc0VmLDBCZnRFb0I7TWV1RXBCLGVmdkVvQjtNZU9sQixlQUFjO01BQ2QsWUFBVztNQUNYLGdCQUFlO01BQ2YsZUFBYyxFK0czR0w7TXJJOG9YUDtRUW45V0YsV0FBVSxFQUNYO01jM0NEO1FBR0UsOEJBQTZCLEVBQzlCO01BSUM7UUFFRSw4QkFBNkIsRUFDOUI7TUFjSDtRQUNFLHNCQU42RDtRQU83RCxlQVA2RCxFQWE5RDtRQUxDO1VBRUUsMEJmOUVnQjtVZStFaEIsZWYvRWdCLEVlZ0ZqQjs7QWdIOUxMO0VBSWdCLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osU0FBUyxFQXNCWjtFQTVCYjtJQVdvQiw2QkFBb0I7SUFBcEIsNEJBQW9CO0lBQXBCLHFCQUFvQjtJQUNwQiw0QkFBbUI7UUFBbkIsdUJBQW1CO1lBQW5CLG9CQUFtQjtJQUNuQixnQ0FBdUI7UUFBdkIsc0JBQXVCO1lBQXZCLHdCQUF1QjtJQUN2QixZQUFXO0lBQ1gsa0JBQWlCLEVBWXBCO0lBM0JqQjtNQWlCd0IsV0FBVSxFQVNiO01uSStJZjtRbUl6S047VUFvQjRCLFdBQVUsRUFNakIsRUFBQTtNbkkrSWY7UW1JektOO1VBd0I0QixZQUFXLEVBRWxCLEVBQUE7O0FDeEJyQjtFQUNJLG9CQUFtQixFQWdNdEI7RXBJMUJLO0lvSXZLTjtNQUlZLGlCQUFnQjtNQUNoQixnQkFBZSxFQUV0QixFQUFBO0VBUEw7SUFTUSw4QkFBNkI7SUFDN0IsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixhQUFZO0lBQ1osWUFBVyxFQStDZDtJcEkyR0M7TW9JdktOO1FBZ0JZLFNBQVE7UUFDUixVQUFTLEVBMkNoQixFQUFBO0lBNURMO01Bb0JZLGFBQVk7TUFDWixjQUFhLEVBc0NoQjtNQTNEVDs7O1FBNkJnQixlQUFjLEVBQ2pCO01BOUJiO1FBOENnQixpQkFBZ0IsRUFZbkI7RUExRGI7SUFrRVksa0JBQWlCO0lBQ2pCLGtCQUFpQixFQVdwQjtJcEl5Rkg7TW9JdktOO1FBc0VnQixnQkFBZTtRQUNmLG9CQUFtQixFQU8xQixFQUFBO0lwSXlGSDtNb0l2S047UUEyRWdCLGdCQUFlO1FBQ2Ysb0JBQW1CLEVBRTFCLEVBQUE7RUE5RVQ7SUFnRlksa0JBQWlCO0lBQ2pCLG9CQUFtQjtJQUNuQixrQkFBaUIsRUFXcEI7SXBJMEVIO01vSXZLTjtRQXFGZ0Isa0JBQWlCO1FBQ2pCLG9CQUFtQixFQU8xQixFQUFBO0lwSTBFSDtNb0l2S047UUEwRmdCLGtCQUFpQjtRQUNqQixvQkFBbUIsRUFFMUIsRUFBQTtFQTdGVDtJQStGWSxrQkFBaUI7SUFDakIsa0JBQWlCLEVBV3BCO0lwSTRESDtNb0l2S047UUFtR2dCLGdCQUFlO1FBQ2Ysb0JBQW1CLEVBTzFCLEVBQUE7SXBJNERIO01vSXZLTjtRQXdHZ0IsZ0JBQWU7UUFDZixvQkFBbUIsRUFFMUIsRUFBQTtFQTNHVDtJQTZHc0MsZWhJRGhCLEVnSUNpQztFQTdHdkQ7SUE4R2dDLGVoSUZWLEVnSUUyQjtFQTlHakQ7SUErR3NDLGVoSUhoQixFZ0lHaUM7RUEvR3ZEO0lBaUh1QyxlaElieEIsRWdJYXlDO0VBakh4RDtJQWtIaUMsZWhJZGxCLEVnSWNtQztFQWxIbEQ7SUFtSHVDLGVoSWZ4QixFZ0lleUM7RXBJb0RsRDtJb0l2S047TUFnSXdCLFVBQVMsRUFDWjtJQWpJckI7TUF3SXdCLGFBQVksRUFDZjtJQXpJckI7TUFnSndCLFVBQVM7TUFDVCxvQ0FBMkI7VUFBM0IsZ0NBQTJCO2NBQTNCLDRCQUEyQixFQUM5QjtJQWxKckI7TS9IcU9FLG1CQUFrQjtNQUNsQixTQUFRO01BQ1Isb0NBQTJCO1VBQTNCLGdDQUEyQjtjQUEzQiw0QkFBMkIsRStIN0VSO0lBMUpyQjtNQWlLd0IsU0FBUTtNQUNSLFVBQVM7TUFDVCx5Q0FBZ0M7VUFBaEMscUNBQWdDO2NBQWhDLGlDQUFnQyxFQUNuQztJQXBLckI7TUEyS3dCLFlBQVcsRUFDZDtJQTVLckI7TUFtTHdCLGFBQVksRUFDZjtJQXBMckI7TUEyTHdCLFdBQVUsRUFDYixFQUFBOztBQ2hNckI7O3VEQUV1RDtBQUV2RDtFQUVJLG1CQUFrQjtFQUNsQixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLCtCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCLEVBSXZCO0VySStKRztJcUl2S047TUFNTSw0QkFBbUI7VUFBbkIsd0JBQW1CO2NBQW5CLG9CQUFtQixFQUV0QixFQUFBOztBckkrSkc7RXFJdktOO0lBV00saUJBQVE7UUFBUixrQkFBUTtZQUFSLFNBQVEsRUFLWCxFQUFBOztBckl1Skc7RXFJdktOO0lBY00sV0FBVSxFQUViLEVBQUE7O0FBaEJIO0VBa0JJLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsMEJBQXlCLEVBK0IxQjtFcklvSEc7SXFJdktOO01Bc0JNLGtCQUFpQjtNQUNqQixjQUFhO01BQ2IsaUJBQVE7VUFBUixrQkFBUTtjQUFSLFNBQVE7TUFDUiwyQkFBa0I7TUFBbEIsbUJBQWtCO01BQ2xCLDJCQUFrQjtVQUFsQiw0QkFBa0I7a0JBQWxCLDJCQUFrQjtjQUFsQixtQkFBa0IsRUF5QnJCLEVBQUE7RXJJb0hHO0lxSXZLTjtNQTZCTSxVQUFTO01BQ1QsU0FBUTtNQUVSLHdCQUF1QjtNQUN2QixrQkFBaUI7TUFDakIsYUFBWTtNQUNaLGVqSXlFZ0I7TWlJeEVoQixXQUFVO01BQ1YsMkJBQWtCO1VBQWxCLDRCQUFrQjtrQkFBbEIsMkJBQWtCO2NBQWxCLG1CQUFrQixFQWNyQjtNQW5ESDtRQXVDUSxxQkFBb0I7UUFDcEIsaUJBQWdCO1FBQ2hCLGlCQUFnQixFQUNqQjtNQTFDUDtRQTRDUSxlakltRFMsRWlJbERWLEVBQUE7O0FySTBIRDtFcUl2S047SUFzRE0saUJBQVE7UUFBUixrQkFBUTtZQUFSLFNBQVEsRUFFWCxFQUFBOztBQ3pESCw0Q0FBNEM7QUFDNUM7RUFFSSxpQkFBZ0IsRUFJakI7RXRJNEpHO0lzSWxLTjtNQUlNLGVBQWMsRUFFakIsRUFBQTs7QUFFSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFDRDtFQUNFLGdCQUFlO0VBQ2YsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxhQUFZO0VBQ1osWUFBVztFQUNYLG9CQUFtQixFQUlwQjtFdEk2SUs7SXNJdkpOO01BUUksY0FBYSxFQUVoQixFQUFBOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLFFBQU87RUFDUCxZQUFXO0VBQ1gsaUNBQTRCO01BQTVCLDZCQUE0QjtFQUM1QixxQ0FBb0MsRUFzRHJDO0V0SWdGSztJc0kzSU47TUFPSSxrQkFBaUI7TUFDakIsOEJBQXlCO1VBQXpCLDBCQUF5QjtNQUN6QixrQ0FBaUMsRUFrRHBDLEVBQUE7RUEzREQ7SUFZSSxtQkFBa0I7SUFDbEIsZUFBYztJQUNkLFFBQU07SUFDTixhQUFZO0lBQ1osZ0NBQTRCO0lBQzVCLFdBQVU7SUFDVixrQ0FBaUM7SUFDakMsMENBQXlDO0lBQ3pDLGdCQUFlLEVBT2hCO0l0SWdIRztNc0kzSU47UUFzQk0sbUJBQWtCO1FBQ2xCLGlCQUFnQjtRQUNoQixhQUFZO1FBQ1osYUFBWSxFQUVmLEVBQUE7RUEzQkg7SUE2Qk0sbUJBQWtCO0lBQ2xCLGVBQWM7SUFDZCxRQUFNO0lBQ04sYUFBWTtJQUNaLGdDQUE0QjtJQUM1QixXQUFVO0lBQ1YsbUNBQWtDO0lBQ2xDLDJDQUEwQyxFQVE3QztJdEkrRkc7TXNJM0lOO1FBc0NNLGtCQUFpQjtRQUNqQixrQ0FBaUM7UUFDakMsMENBQXlDO1FBQ3pDLGFBQVk7UUFDWixpQkFBZ0IsRUFFbkIsRUFBQTs7QUFFRDtFQUNFO0lBQU8sa0NBQXlCO1lBQXpCLDBCQUF5QixFQUFBLEVBQUE7O0FBRGxDO0VBQ0U7SUFBTyxrQ0FBeUI7WUFBekIsMEJBQXlCLEVBQUEsRUFBQTs7QUFHbEM7RUFDRTtJQUFLLGtDQUF5QjtZQUF6QiwwQkFBeUIsRUFBQTtFQUM5QjtJQUFPLHFDQUE0QjtZQUE1Qiw2QkFBNEIsRUFBQSxFQUFBOztBQUdyQztFQUNFO0lBQUssa0NBQWlDLEVBQUE7RUFDdEM7SUFBTyxxQ0FBb0MsRUFBQSxFQUFBOztBQUkvQztFQUNFLGdCQUFlO0VBQ2Ysa0JBQWlCLEVBT2xCO0V0SXFFSztJc0k5RU47TUFJSSxXQUFVO01BQ1YsaUJBQWdCO01BQ2hCLFlBQVc7TUFDWCxhQUFZLEVBRWYsRUFBQTs7QUFDRCwwREFBMEQ7QUFWMUQ7RUFhRSxVQUFTO0VBQ1Qsc0JBQXFCLEVBbUJ0QjtFQXJCRDtJQUlJLGlCdkl0Rlk7SXVJdUZaLGVsSU9rQixFa0lObkI7RUFOSDtJQVNNLGlCdkl6RlMsRXVJbUdWO0lBbkJMO01BV1EsWUFBVztNQUNYLDBCbEliUztNa0ljVCxZQUFXO01BQ1gsWUFBVztNQUNYLHNCQUFxQjtNQUNyQixtQkFBa0I7TUFDbEIsa0JBQWlCLEVBQ2xCOztBQVNQO0VBQ0UsMEJsSWhCb0IsRWtJMEVyQjtFQTNERDtJQUdJLG9CbElsQmtCO0lrSW1CbEIsZWxJM0JXO0lrSTRCWCxjQUFhO0lBQ2IsZ0JBQWU7SUFDZixrQkFBaUIsRUFDbEI7RUFSSDtJQVVJLGNBQWE7SUFDYixnQkFBZTtJQUNmLGtCQUFpQixFQThDbEI7SUExREg7TUFjTSxpQkFBZ0IsRUFDakI7SUFmTDtNQW1CVSxpQkFBZ0IsRUFDakI7SUFwQlQ7TUFzQlUsbUJBQWtCO01BQ2xCLFNBQVE7TUFDUixTQUFRLEVBQ1Q7SUF6QlQ7TUE0QlEsU0FBUSxFQUNUO0lBN0JQO01BaUNZLG1CQUFrQixFQUNuQjtJQWxDWDtNQXdDTSxvQmxJOURpQixFa0krRWxCO010SWJDO1FzSTVDTjtVQTRDWSxZQUFXO1VBQ1gsZ0JBQWUsRUFDaEI7UUE5Q1g7VUFnRFksYUFBWTtVQUNaLGdCQUFlLEVBQ2hCLEVBQUE7TUFsRFg7UUFzRFEsa0JBQWlCO1FBQ2pCLGlCQUFnQixFQUNqQjs7QUNuTFA7RUFDQyxzRUFBcUU7RUFDckUsdUJBQXNCO0VBQ3RCLGtCQUFpQjtFQUNqQixXQUFVLEVBQ1Y7O0FBRUQ7RUFDQyx1QkFBcUI7RUFDckIsY0FBWTtFQUNaLDZDQUF5QztFQUN6QyxvQkFBa0IsRUFDbEI7O0FBRUQ7RUFDRyxhQUFZO0VBQ1osY0FBYSxFQUNmOztBQUVEO0VBQ0Msb0JBQWtCLEVBQ2xCOztBQUVEO0VBQ0MsbUJBQWlCO0VBQ2pCLG1CQUFpQjtFQUNqQixtQkFBaUI7RUFDakIsa0JBQWdCO0VBQ2hCLGdCQUFjLEVBQ2Q7O0FBRUQ7RUFDQyxrQkFBZ0I7RUFDaEIsbUJBQWlCO0VBQ2pCLG9CQUFrQjtFQUNsQixnQkFBYztFQUNkLGVBQWE7RUFDYixxQkFBbUI7RUFDbkIsZUFBYSxFQUNiOztBQUVEOztHQUVHO0FBRUg7RUFDQyxzRUFBcUU7RUFDckUsNkJBQTRCO0VBQzVCLFlBQVU7RUFDVixhQUFXO0VBQ1gsc0JBQW9CO0VBQ3BCLGtCQUFnQixFQUNoQjs7QUFFRDtFQUNDLHNFQUFxRTtFQUNyRSw2QkFBNEI7RUFDNUIsWUFBVTtFQUNWLGFBQVc7RUFDWCxzQkFBb0IsRUFDcEI7O0FBRUQ7RUFDQyxzRUFBcUU7RUFDckUsNkJBQTRCO0VBQzVCLFlBQVU7RUFDVixhQUFXO0VBQ1gsc0JBQW9CO0VBQ3BCLGtCQUFnQixFQUNoQjs7QUFFRDtFQUNDLHNFQUFxRTtFQUNyRSw2QkFBNEI7RUFDNUIsWUFBVTtFQUNWLGFBQVc7RUFDWCxzQkFBb0I7RUFDcEIsa0JBQWdCLEVBQ2hCOztBQUVEO0VBQ0Msc0VBQXFFO0VBQ3JFLDZCQUE0QjtFQUM1QixZQUFVO0VBQ1YsYUFBVztFQUNYLHNCQUFvQjtFQUNwQixrQkFBZ0IsRUFDaEI7O0FBRUQ7RUFDQyxzRUFBcUU7RUFDckUsNkJBQTRCO0VBQzVCLFlBQVU7RUFDVixhQUFXO0VBQ1gsc0JBQW9CO0VBQ3BCLGtCQUFnQixFQUNoQjs7QUFFRDtFQUNDLFVBQVEsRUFDUjs7QUFHRDtFQUNDLGNBQVksRUFDWjs7QUFFRDtFQUNDLG1CQUFpQjtFQUNqQixnQkFBYyxFQUNkOztBQUVEO0VBQ0MsNkJBQW1CO0VBQW5CLDRCQUFtQjtFQUFuQixxQkFBbUIsRUFDbkI7O0FBRUQsVUFBVTtBQUNWO0VBR0UsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxnQkFBZTtFQUNmLG9CQUFtQjtFQUNuQiwyQkFBMEI7RUFDMUIsc0JBQXFCO0VBQ3JCLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsc0JBQXFCLEVBQ3RCOztBQUVEO0VBQ0MsZ0JBQWM7RUFDZCxtQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxzQkFBb0I7RUFDcEIsWUFBVSxFQUNWOztBQUVEO0VBQ0Usb0JBQW1CO0VBQ25CLHNCQUFxQixFQUN0Qjs7QUFFRDtFQUdFLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsZ0JBQWU7RUFDZixvQkFBbUI7RUFDbkIsMkJBQTBCO0VBQzFCLHNCQUFxQjtFQUNyQixrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLHNCQUFxQixFQUN0Qjs7QUFFRDtFQUNDLGdCQUFjO0VBQ2QsbUJBQWlCLEVBQ2pCOztBQUVEO0VBQ0Msc0JBQW9CO0VBQ3BCLFlBQVUsRUFDVjs7QUFFRDtFQUNFLG9CQUFtQjtFQUNuQixzQkFBcUIsRUFDdEI7O0FBRUQ7RUFHRSxtQkFBa0I7RUFDbEIsZUFBYztFQUNkLGdCQUFlO0VBQ2Ysb0JBQW1CO0VBQ25CLDJCQUEwQjtFQUMxQixzQkFBcUI7RUFDckIsa0JBQWlCO0VBQ2pCLGlCQUFnQjtFQUNoQixzQkFBcUIsRUFDdEI7O0FBRUQ7RUFDQyxnQkFBYztFQUNkLG1CQUFpQixFQUNqQjs7QUFFRDtFQUNDLHNCQUFvQjtFQUNwQixZQUFVLEVBQ1Y7O0FBRUQ7RUFDRSxvQkFBbUI7RUFDbkIsc0JBQXFCLEVBQ3RCOztBQUVEO0VBR0UsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxnQkFBZTtFQUNmLG9CQUFtQjtFQUNuQiwyQkFBMEI7RUFDMUIsc0JBQXFCO0VBQ3JCLGtCQUFpQjtFQUNqQixpQkFBZ0I7RUFDaEIsc0JBQXFCLEVBQ3RCOztBQUVEO0VBQ0MsZ0JBQWM7RUFDZCxtQkFBaUIsRUFDakI7O0FBRUQ7RUFDQyxzQkFBb0I7RUFDcEIsWUFBVSxFQUNWOztBQUVEO0VBQ0Usb0JBQW1CO0VBQ25CLHNCQUFxQixFQUN0Qjs7QUFFRDtFQUdFLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsZ0JBQWU7RUFDZixvQkFBbUI7RUFDbkIsMkJBQTBCO0VBQzFCLHNCQUFxQjtFQUNyQixrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLHNCQUFxQixFQUN0Qjs7QUFFRDtFQUNDLGdCQUFjO0VBQ2QsbUJBQWlCLEVBQ2pCOztBQUVEO0VBQ0Msc0JBQW9CO0VBQ3BCLFlBQVUsRUFDVjs7QUFFRDtFQUNFLG9CQUFtQjtFQUNuQixzQkFBcUIsRUFDdEI7O0FBQ0QsY0FBYztBQUVkLGdCQUFnQjtBQUNoQjtFQXhRQTtJQTBRRSx1QkFBc0I7SUFDdEIsa0NBQWlDLEVBQ2pDLEVBQUE7O0FBR0Y7RUFDQztJQUNJLFVBQVM7SUFDVCxtQkFBa0I7SUFDbEIsU0FBUSxFQUNYO0VBQ0Q7SUFDQyxpQkFBZ0IsRUFDaEI7RUF6UUY7SUEyUUUsYUFBWSxFQUNaO0VBM1BGOztJQThQRSxVQUFTO0lBQ1QsbUJBQWtCLEVBQ2xCO0VBQ0Q7SUFDQyxvQkFBbUIsRUFDbkIsRUFBQTs7QUFHRjtFQUNDO0lBQ0MsbUJBQWtCLEVBQ2xCO0VBQ0Q7O0lBRUMsYUFBWTtJQUNaLG9CQUFtQixFQUNuQjtFQUNEO0lBQ0MsZUFBYyxFQUNkLEVBQUE7O0FDOVNGO0VBRUUsbUJBQWtCLEVBTWxCO0VBUkY7SUFLRyxpQkFBZ0IsRUFFaEI7O0FBTUg7RUFFRSxpQkFBZ0IsRUFVaEI7RUFaRjtJQUlHLGVwSWdLcUIsRW9JL0pyQjtFQUxIO0lBUUksOEJBQTZCO0lBQzdCLGVwSStFZ0IsRW9JOUVoQjs7QUFPSjtFQUNDLGlCcElxQ21CLEVvSXFUbkI7RUEzVkQ7SUFLRyxtQkFBa0IsRUFDbEI7RUFOSDtJQVlLLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsWUFBVztJQUNYLGdCQUFlLEVBQ2Y7RXhJdUhDO0l3SXZJTjtNQXFCSyx3QkFBdUIsRUFldkI7TUFwQ0w7UUF1Qk0sMEJBQXlCO1FBQ3pCLHFCQUFvQjtRQUNwQixtQkFBa0I7UUFDbEIsb0JBQW1CLEVBU25CO1FBbkNOO1UzQ3JCSSxnQ0FBMEI7a0JBQTFCLHdCQUEwQjtVMkNtRHZCLGtCQUFpQixFQUlqQixFQUFBO0V4SXFHRDtJd0l2SU47TUF5Q0ksY0FBYSxFQUNiLEVBQUE7RXhJNkZFO0k4Rm9CTjtNMEM1R0cseUJBQWdCO01BQWhCLGlCQUFnQjtNQUNoQixPQUFNO01BQ04sYUFBWTtNQUNaLHFCQUFvQixFQXFJckIsRUFBQTtFQXZMRjtJQXNESSxnQkFBZSxFQUNmO0VBdkRKO0lBeURJLG1CQUFrQixFQUNsQjtFQTFESjtJQTRESSxnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQixlQUFjLEVBQ2Q7RUEvREo7SUFrRUcsNENBQTRDLEVBTzVDO0lBekVIO01Bb0VJLG1CQUFrQjtNQUNsQixpQkFBZ0I7TUFDaEIsbUJBQWtCO01BQ2xCLGlCQUFnQixFQUNoQjtFMUNtRko7STBDL0VHLHlCQUFnQjtJQUFoQixpQkFBZ0I7SUFDaEIsVUFBUztJQUNULFVBQVM7SUFDVCxnQkFBZTtJQUNmLG9CcElaWSxFb0kyQlo7SXhJd0NHO004Rm9CTjtRMEN6RUksU0FBUSxFQWFULEVBQUE7SUEvRkg7TUFxRkksVUFBUyxFQVNUO014SXlDRTtRd0l2SU47VUF3Rm9CLFVBQVMsRUFNekIsRUFBQTtNQTlGSjtRQTJGSyxlcEl2QlU7UW9Jd0JWLGNBQWEsRUFDYjtFQTdGTDtJQWlHRyxpQkFBZ0IsRUFxRmhCO0lBdExIO01BdUdLLGlCQUFnQixFQUNoQjtJQXhHTDtNQTBHSyxpQkFBZ0I7TUFDaEIsaUJ6STNIVSxFeUk0SFY7SUE1R0w7O01Bb0hLLDRCL0hoRW9EO00rSGlFcEQsMEJBQXlCLEVBQ3pCO0lBdEhMOztNQXdISyxnQkFBZTtNQUNmLGlCQUFnQixFQUNoQjtJQTFITDs7TUE2SE0sK0JwSXBFWSxFb0lxRVo7SUE5SE47TUFxSUksbUJBQWtCO01BQ2xCLGtCQUFpQixFQStDakI7TXhJOUNFO1F3SXZJTjtVQXdJSyxpQkFBZ0IsRUE2Q2pCLEVBQUE7TXhJOUNFO1F3SXZJTjtVQTJJSyxpQkFBZ0IsRUEwQ2pCLEVBQUE7TUFyTEo7UUE4SUssZXBJdkVlO1FvSXdFZixvQkFBbUIsRUFDbkI7TUFoSkw7UUFrSkssWUFBVyxFQUNYO01BbkpMO1FBcUpLLGVwSWpGVTtRb0lrRlYsY0FBYTtRQUNiLHFCQUFvQjtRQUNwQixzQkFBcUI7UUFDckIsMEJBQXlCO1EzQ3BMM0Isd0NBRGtEO1FBRWxELGdEQUZrRDtRQUdsRCx3QkFBdUIsRTJDdUxyQjtRQTlKTDtVQTRKTSwwQkFBeUIsRUFDekI7TUE3Sk47UUFnS0ssZXBJNUZVO1FvSTZGViw2QkFBNEI7UUFDNUIscUJBQW9CO1FBQ3BCLHNCQUFxQjtRQUNyQiwwQkFBeUI7UTNDL0wzQix3Q0FEa0Q7UUFFbEQsZ0RBRmtEO1FBR2xELHdCQUF1QixFMkNrTXJCO1FBektMO1VBdUtNLDBCQUF5QixFQUN6QjtNQXhLTjtRQTJLSyxlcEl2R1U7UW9Jd0dWLGNBQWE7UUFDYixxQkFBb0I7UUFDcEIsc0JBQXFCO1FBQ3JCLDBCQUF5QjtRM0MxTTNCLHdDQURrRDtRQUVsRCxnREFGa0Q7UUFHbEQsd0JBQXVCLEUyQzZNckI7UUFwTEw7VUFrTE0sMEJBQXlCLEVBQ3pCO0VBbkxOO0lBMkxFLG9CQUFtQixFQUNuQjtFQTVMRjtJQWdNRyxzQkFBcUI7SUFDckIsYUFBVyxFQUNYO0VBbE1IO0lBb01HLGNBQWEsRUFDYjtFQXJNSDtJQXdNSSxjQUFhLEVBQ2I7RUF6TUo7SUEyTUksc0JBQXFCLEVBQ3JCO0VBNU1KO0lBa1FFLG9CQUFvQixFQVNwQjtJQTNRRjtNQTBOSSxnQkFBZTtNQUNILG9CQUFtQixFQUMvQjtJQTVOSjtNQThOSSxzQkFBcUI7TUFDckIsYUFBWTtNQUNaLGtCQUFpQixFQU9qQjtNQXZPSjtRQWtPSyxrQkFBaUIsRUFDakI7TUFuT0w7UUFxT0ssZUFBYyxFQUNkO0l4SS9GQztNd0l2SU47UUEyT00sb0JwSXJNYyxFb0l1TWYsRUFBQTtJQTdPTDtNQWlQRyx5QkFBZ0I7TUFBaEIsaUJBQWdCO01BQ2hCLFVBQVM7TUFDVCxVQUFTO01BQ1QsWUFBVztNQUNYLFlBQVcsRUFNWDtNQTNQSDtRQXVQSSxpQkFBZ0I7UUFDaEIsZUFBYztRQUNGLGlCQUFnQixFQUM1QjtJQTFQSjtNQTZQRyxzQkFBcUIsRUFDckI7SUE5UEg7TUFnUVksYXBJMU5RLEVvSTJOakI7SUFqUUg7TUFvUUcsYUFBWTtNQUNaLG9CQUFtQixFQUtuQjtNQTFRSDtRQXVRSSxhQUFZO1FBQ1osK0JBQThCLEVBQzlCO0VBelFKO0lBa1JHLGtCL0g5TnNEO0krSCtOdEQsa0JBQWlCO0lBQ2pCLHlCL0hoT3NEO0krSGtPdEQsMEJBQXlCLEVBQ3pCO0lBdlJIO01BcVJRLFdBQVUsRUFBRTtFQXJScEI7SUF5UkcsWUFBVyxFQUNYO0VBMVJIO0lBOFJRLFdBQVUsRUFBRTtFQTlScEI7SUFtU0csV0FBVSxFQUNWO0VBcFNIO0lBa1RHLGVwSS9KcUI7SW9JZ0tyQixrQkFBaUI7SUFDakIsYUFBVyxFQUNYO0VBclRIO0lBdVRHLDJCQUEwQixFQUMxQjtFQXhUSDtJQTBURyxxQi9IdFFzRDtJK0h1UXRELGdCQUFlLEVBQ2Y7RUE1VEg7SUFnVUssY0FBYSxFQUNiO0VBalVMO0lBbVVLLGdCQUFlLEVBQ2Y7RUFwVUw7SUFzVUssYUFBWTtJQUNaLGVBQWM7SUFDZCx5Q0FBZ0M7WUFBaEMsaUNBQWdDO0lBQ2hDLGlDQUF3QjtZQUF4Qix5QkFBd0I7SUFDeEIsNENBQW1DO1lBQW5DLG9DQUFtQztJQUNuQywyQkFBa0I7WUFBbEIsbUJBQWtCO0lBQ2xCLHVDQUE4QjtZQUE5QiwrQkFBOEI7SUFDOUIsMkNBQWtDO1lBQWxDLG1DQUFrQztJQUNsQyxXQUFVLEVBQ1Y7O0FBQ0Q7RUFDQztJQUNDLFdBQVUsRUFBQTtFQUVYO0lBQ0MsV0FBVSxFQUFBLEVBQUE7O0FBTFo7RUFDQztJQUNDLFdBQVUsRUFBQTtFQUVYO0lBQ0MsV0FBVSxFQUFBLEVBQUE7O0FBVWhCO0VBR0csaUJBQWdCO0VBQ2hCLG9CQUFtQjtFQUNuQixzQnBJM1NlLEVvSTRTZjs7QUFOSDtFQVFHLGdCQUFlO0VBQ2YsVUFBUztFQUNULGtCQUFpQixFQUNqQjs7QUFNSDtFQUVFLHNCQUFxQjtFQUNyQix1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLGFBQVk7RUFDWixhQUFZLEVBUVo7RUFkRjtJQVFHLGdCL0hwVXNELEUrSHFVdEQ7RUFUSDtJQVdHLGVBQWM7SUFDZCxvQkFBa0IsRUFDbEI7O0FBYkg7RUFnQkUsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLGFBQVk7RUFDWixhQUFZO0VBQ1osc0JBQXFCO0VBQ3JCLG1CcElqV2tCO0VvSWtXbEIsMEJwSS9VZ0IsRW9Jd1doQjtFQWpERjtJQTJCRyxpQ0FBZ0M7SUFDaEMsZ0IxQ2xabUI7STBDbVpuQixhQUFZLEVBQ1o7RUE5Qkg7SUFnQ0csZ0JBQWU7SUFDZiw4QkFBNkI7SUFDN0IsY0FBYTtJQUNiLGFBQVksRUFTWjtJQTVDSDtNQXNDSSw4QkFBNkI7TUFDN0Isc0JBQXFCO01BQ3JCLGFBQVc7TUFDWCxvQkFBbUI7TUFDbkIsZ0JBQWUsRUFDZjtFQTNDSjtJQThDRyxnQ0FBaUM7SUFDakMsdUJBQXNCLEVBQ3RCOztBQ25jSCx3QkFBd0I7QUFFeEIsbUNBQW1DO0FBQ25DO0VBRUkseUJBQXdCLEVBQ3pCOztBQUVIO0VBQ0UsY0FBYSxFQUNkOztBQUNEO0VBQ0UsWUFBVztFQUNYLGtCQUFpQixFQUNsQjs7QUFDRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFDRDtFQUNFLG1CQUFrQjtFQUNsQiw4QkFBNkIsRUFDOUI7O0FBQ0Q7RUFDRSxrQkFBaUI7RUFDakIsOEJBQTZCLEVBQzlCOztBQUVEOztFQUVFLGdCQUFlO0VBQ2YsOEJBQTZCO0VBQzdCLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsaUJBQWdCO0VBQ2hCLGVBQWMsRUFDZjs7QUFFRCxlQUFlO0FBRWY7RUFDRSxjQUFhLEVBQ2Q7O0FBQ0Q7RUFDRSxtQkFBa0I7RUFDbEIsMEJBQXlCO0VBQ3pCLGlCQUFnQixFQUNqQjs7QUFDRCxVQUFVO0FBQ1Y7RUFDRSxpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLHFCQUFvQjtFQUNwQixrQkFBaUI7RUFDakIsbUJBQWtCLEVBS25CO0VBSEM7SUFDRSx1QkFBc0IsRUFDdkI7O0FBRUg7RUFDRSxzQkFBcUI7RUFDckIsaUJBQWdCO0VBQ2hCLFlBQVc7RUFDWCxrQkFBaUI7RUFDakIsc0JBQXFCO0VBQ3JCLHVCQUFzQjtFQUN0Qiw0QkFBMkI7RUFFM0IsZ0JBQWU7RUFDZixtQkFBa0IsRUFXbkI7RUFyQkQ7O0lBY0ksd0JBQXVCLEVBQ3hCO0VBQ0Q7SUFDRSw4QkFBNkI7SUFDN0Isd0JBQXVCLEVBQ3hCOztBQUdIOzs7O0VBSUUsY0FBYSxFQUNkOztBQUNEOztFQUVFLGlCQUFnQixFQUNqQjs7QUFDRDs7RUFFRSw0QkFBMkI7RUFDM0IsdUJBQXNCO0VBQ3RCLDhCQUE2QixFQUM5Qjs7QUFDRDs7RUFFRSw4QkFBNkIsRUFDOUI7O0FBQ0Q7RUFDRSxtQkFBa0I7RUFDbEIsY0FBYSxFQUNkOztBQUNEO0VBQ0UsZUFBYyxFQUNmOztBQUNELHFCQUFxQjtBQUNyQjs7Ozs7Ozs7RUFRRSxhQUFZO0VBQ1osZUFBYztFQUNkLCtCQUE4QixFQUMvQjs7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBK0JJLGFBQVk7RUFDWixlQUFhO0VBQ2IsK0JBQThCLEVBQy9COztBQUVIO0VBQ0U7Ozs7SUFJRSxFQWdDSDtFQXJDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQW9CSSxhQUFZO0lBQ1osZUFBYTtJQUNiLCtCQUE4QixFQUMvQjtFQXZCSDs7O0lBNEJJLGFBQVk7SUFDWixlQUFjO0lBQ2QsK0JBQThCLEVBQy9CO0VBL0JIOzs7SUFrQ0ksY0FBYSxFQUNkOztBQUlIO0VBQ0UsY0FBYSxFQUNkOztBQUNEO0VBRUkseUJBQXdCLEVBQ3pCOztBQUhIO0VBS0ksZUFBYyxFQUNmOztBQU5IO0VBUUksZUFBYyxFQUNmOztBQUdIOzs7O0VBS0ksZUFBYyxFQUNmOztBQU5IOzs7O0VBU0ksZUFBYyxFQUNmOztBQU9IO0VBQ0UsWUFBVztFQUNYLFlBQVcsRUFDWjs7QUFDRDtFQUVFLGVBQWMsRUFDZjs7QUFDRCxpQkFBaUI7QUFDakI7RUFDRSxtQkFBa0I7RUFDbEIsWUFBVztFQUNYLGVBQWMsRUFDZjs7QUFDRDtFQUNFLGtCQUFpQjtFQUNqQixxQkFBb0IsRUFDckI7O0FBQ0Q7RUFDRTs7Ozs7RUFLQTtFQUNBLDZCQUE0QixFQUM3Qjs7QUFDRDtFQUNFLG9CQUFtQixFQUNwQjs7QUFLRCxrQkFBa0I7QUFFbEI7RUFDRSxtQkFBa0I7RUFDbEIsWUFBVztFQUNYLHFCQUFvQjtFQUNwQixZQUFXLEVBQ1o7O0FBQ0Q7RUFJRSxnQkFBZTtFQUNmLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsWUFBVyxFQUNaO0V6SWpISztJeUl5R047TUFFSSxnQkFBZSxFQU1sQixFQUFBOztBQUNEO0VBQ0UsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCw4QkFBNkI7RUFDN0Isc0JBQXFCLEVBQ3RCOztBQUNEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUNEO0VBQ0UsZ0JBQWU7RUFDZixhQUFZO0VBQ1osaUJBQWdCO0VBQ2hCLFlBQVc7RUFDWCxzQkFBcUI7RUFDckIsa0JBQWlCO0VBQ2pCLHlCQUF3QjtFQUN4QixnQkFBZSxFQUNoQjs7QUFDRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFDRDtFQUNFLHNCQUFxQjtFQUNyQixnQkFBZTtFQUNmLGFBQVk7RUFDWiwrQkFBOEI7RUFDOUIsbUJBQWtCLEVBQ25COztBQUNEO0VBQ0UsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsYUFBWTtFQUNaLFlBQVcsRUFnQ1o7RUFyQ0Q7O0lBUUksNkJBQTRCO0lBQzVCLDhCQUE2QixFQUM5QjtFQVZIO0lBWUksbUJBQWtCO0lBQ2xCLHNCQUFxQjtJQUNyQixXQUFVO0lBQ1YsVUFBUztJQUNULGNBQWE7SUFDYixZQUFXO0lBQ1gsYUFBWTtJQUNaLGFBQVk7SUFDWixtQkFBa0I7SUFFbEI7Ozs7Ozs7O09BUUcsRUFDSjtFQS9CSDtJQW1DSSx5QkFBd0IsRUFDekI7O0FBR0g7RUFDRSxtQkFBa0I7RUFDbEIsdUJBQXNCLEVBQ3ZCOztBQUVEO0VBQ0UsWUFBVztFQUNYLG1CQUFrQjtFQUNsQixVQUFTO0VBQ1QsUUFBTztFQUNQLFlBQVc7RUFDWCxhQUFZO0VBQ1osb0VBQW1FO0VBQ25FLGtDQUFpQztFQUNqQyw2QkFBNEI7RUFDNUIsV0FBVSxFQUNYOztBQUNEO0VBQ0UsWUFBVztFQUNYLHVCQUFzQixFQUN2Qjs7QUFDRCxpQkFBaUI7QUFFakI7RUFDRSxtQkFBa0I7RUFDbEIsYUFBWTtFQUNaLGFBQVksRUFDYjs7QUFDRDtFQUNFLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLG1CQUFrQixFQUNuQjs7QUFDRDtFQUNFLGlCQUFnQjtFQUNoQixpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxpQkFBZ0I7RUFDaEIsV0FBVSxFQUNYOztBQUNEO0VBQ0UsWUFBVztFQUNYLGFBQVksRUFDYjs7QUFDRDtFQUNFLDJCQUEwQjtFQUMxQixpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLG9CQUFtQjtFQUNuQixZQUFXO0VBQ1gsY0FBYSxFQUlkO0V6SWxQSztJeUl3T047TUFRSSxpQkFBZ0IsRUFFbkIsRUFBQTs7QUFDRDtFQUNFLHNCQUFxQjtFQUNyQixhQUFZO0VBQ1osYUFBWSxFQUNiOztBQUNEO0VBQ0Usc0JBQXFCO0VBQ3JCLGFBQVk7RUFDWixhQUFZLEVBQ2I7O0FBQ0Q7RUFDRSxjQUFhLEVBQ2Q7O0FBQ0QsMEJBQTBCO0FBQzFCO0VBQ0UsYUFBWSxFQUNiOztBQUNEO0VBQ0UsdUJBQXNCO0VBQ3RCLG9CQUFtQjtFQUNuQix1Q0FBc0M7RUFDdEMsZ0JBQWUsRUFLaEI7RUFURDtJQU9JLGdCQUFlLEVBQ2hCOztBQUVIO0VBQ0Usc0JBQXFCO0VBQ3JCLFlBQVc7RUFDWCxhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLG9FQUFtRTtFQUNuRSxnQ0FBK0I7RUFDL0IsNkJBQTRCLEVBQzdCOztBQUNEO0VBQ0Usc0JBQXFCO0VBQ3JCLFlBQVc7RUFDWCxhQUFZO0VBQ1osa0JBQWlCO0VBQ2pCLG9FQUFtRTtFQUNuRSxrQ0FBaUMsRUFDbEM7O0FBQ0Q7RUFDRSxzQkFBcUI7RUFDckIsYUFBWTtFQUNaLGFBQVksRUFDYjs7QUFDRDtFQUNFLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osY0FBYTtFQUNiLG9FQUFtRTtFQUNuRSxpQkFBZ0IsRUFDakI7O0FBQ0Q7RUFDRSxtQkFBa0I7RUFDbEIsVUFBUztFQUNULFNBQVE7RUFDUixhQUFZO0VBQ1osY0FBYTtFQUNiLG9FQUFtRTtFQUNuRSw4QkFBNkI7RUFDN0IsMEJBQXlCO0VBQ3pCLFdBQVUsRUFDWDs7QUFDRCx5QkFBeUI7QUFFekI7RUFDRSxlQUFjO0VBQ2Qsb0JBQW1CO0VBQ25CLHVCQUFzQixFQUN2Qjs7QUFDRDtFQUNFLHNCQUFxQjtFQUNyQixhQUFZO0VBQ1osZ0JBQWU7RUFDZixxQkFBb0I7RUFDcEIsaUJBQWdCO0VBQ2hCLDhCQUE2QjtFQUM3QixtQkFBa0I7RUFDbEIsZ0JBQWUsRUFDaEI7O0FBQ0Q7RUFDRSxtQkFBa0IsRUFDbkI7O0FBQ0Q7RUFDRSxhQUFZLEVBQ2I7O0FBQ0Q7RUFDRSxpQkFBZ0I7RUFDaEIsWUFBVyxFQUNaOztBQUNEOztFQUVFLGFBQVk7RUFDWixjQUFhLEVBQ2Q7O0FBQ0Q7RUFDRSxtRUFBa0UsRUFDbkU7O0FBQ0Q7RUFDRSw4QkFBNkI7RUFDN0IsbUVBQWtFLEVBQ25FOztBQUVEO0VBQ0UsYUFBWTtFQUNaLGNBQWE7RUFFYix5RkFBd0YsRUFxQnpGO0VBekJEO0lBT00sbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxjQUFhO0lBQ2IseUZBQXdGLEVBQ3pGO0VBWEw7SUFhTSxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLGNBQWE7SUFDYix3RkFBdUYsRUFDeEY7RUFqQkw7SUFtQk0sbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxjQUFhO0lBQ2IseUZBQXdGLEVBQ3pGOztBQUdMO0VBQ0UsOEJBQTZCLEVBQzlCOztBQUNEO0VBQ0UsZUFBYztFQUNkLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsbUJBQWtCLEVBQ25COztBQUNELHFDQUFxQztBQUVyQyxhQUFhO0FBQ2I7Ozs7OztFQU1FLGNBQWEsRUFDZDs7QUFDRCx5Q0FBeUM7QUFDekM7Ozs7OztFQU1FLGNBQWEsRUFDZDs7QUFDRCwwQkFBMEI7QUFDMUI7Ozs7OztFQU1FLGVBQWMsRUFDZjs7QUFDRCxXQUFXO0FBQ1g7RUFDRSxhQUFZO0VBQ1osY0FBYSxFQUNkOztBQUNELDZCQUE2QjtBQUM3QjtFQUNFLGtFQUFpRSxFQUNsRTs7QUFDRCxrQkFBa0I7QUFDbEI7RUFDRSw4QkFBNkIsRUFDOUI7O0FBQ0Qsd0JBQXdCO0FBQ3hCO0VBQ0UsOEJBQTZCLEVBQzlCOztBQUNELDBCQUEwQjtBQUMxQjtFQUNFLGdFQUErRDtFQUMvRCwwQkFBeUIsRUFDMUI7O0FBQ0QsZUFBZTtBQUNmO0VBQ0UsOEJBQTZCLEVBQzlCOztBQUNELHNCQUFzQjtBQUV0QjtFQUNFLDhCQUE2QixFQUM5Qjs7QUFDRCxnQkFBZ0I7QUFFaEI7RUFDRSw4QkFBNkIsRUFDOUI7O0FBRUQ7RUFDRSw4QkFBNkIsRUFDOUI7O0FBRUQ7RUFDRSxtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLFlBQVc7RUFDWCxZQUFXO0VBQ1gsb0VBQW1FLEVBSXBFO0VBVEQ7SUFPSSxzQkFBcUIsRUFDdEI7O0FBRUg7RUFFSSxhQUFZO0VBQ1osWUFBVztFQUNYLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixZQUFXLEVBQ1o7O0FBR0g7RUFDRSxZQUFXLEVBQ1o7O0FBQ0Q7RUFDRSxZQUFXLEVBQ1o7O0FBQ0Q7RUFDRSxlQUFjO0VBQ2QsYUFBWTtFQUNaLFdBQVU7RUFDVixtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLGlCQUFnQixFQUNqQjs7QUFDRDtFQUNFLFlBQVcsRUFDWjs7QUFDRDtFQUVJLDBCQUF5QixFQUMxQjs7QUFISDtFQUtJLDBCQUF5QixFQUMxQjs7QUFOSDtFQVFJLDBCQUF5QixFQUMxQjs7QUFUSDtFQVdJLDBCQUF5QixFQUMxQjs7QUFaSDtFQWNJLDBCQUF5QixFQUMxQjs7QUFmSDtFQWlCSSwwQkFBeUIsRUFDMUI7O0FBbEJIO0VBb0JJLDBCQUF5QixFQUMxQjs7QUFFSDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFFRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSwwQkFDRixFQUFDOztBQUNEOztFQUVFLDBCQUNGLEVBQUM7O0FBQ0Q7O0VBRUUsMEJBQ0YsRUFBQzs7QUFDRDs7RUFFRSxvQkFBNEI7RUFBRSxrQkFBa0I7RUFDaUMsWUFB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RVksWUFBVztJQUNYLG9CQUFtQjtJQUNuQixlQUFjO0lBQ2QsaUJBQWdCLEVBa0JuQjtJQXhGVDtNQXlFZ0IsbUJBQWtCLEVBY3JCO01BdkZiO1FBNEVvQixvQkFBbUI7UXBJY25DLDRCQURnSDtRSGhEOUcsd0JBQTZEO1FBQTdELHVCQUE2RCxFdUlxQ2xEO01BOUVqQjtRQWlGb0Isb0JBQW1CO1FwSVNuQyw0QkFEZ0g7UUhoRDlHLHdCQUE2RDtRQUE3RCx1QkFBNkQ7UXVJMEMvQyxtQkFBa0I7UUFDbEIsU0FBUTtRQUNSLFdBQVUsRUFDYjtFQXRGakI7SUE0RmdCLFdBQVUsRUFhYjtJQXpHYjtNQWdHd0Isb0JBQW1CO01wSU52Qyw2QkFEZ0g7TUhoRDlHLHdCQUE2RDtNQUE3RCx1QkFBNkQsRXVJeUQ5QztJQWxHckI7TXBJMEZJLDZCQURnSDtNSGhEOUcsd0JBQTZEO01BQTdELHVCQUE2RDtNdUk2RDNDLFdBQVUsRUFDYixFQUFBOztBQ3ZHckI7RWxEZUksZ0NBQTBCO1VBQTFCLHdCQUEwQixFa0RTakI7O0FBeEJiO0VBOEJvQixhQUFZO0VBQ1osaUJBQWdCLEVBS25CO0VBcENqQjtJQWtDd0IsZ0JBQWUsRUFDbEI7O0FBbkNyQjtFQWtEUSxZQUFXLEVBQ2QiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjAtcmMuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2FuczozMDAsNDAwLDYwMCw3MDBcIik7XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV2ZWFsLCAucmV2ZWFsLnRpbnksIC5yZXZlYWwuc21hbGwsIC5yZXZlYWwubGFyZ2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tdGl0bGUsXG4uY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCxcbi5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLm9wdGlvbi1saW5lIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiT3BlbiBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMxNTI5MzU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA4Ny41cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdyaWQteCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWluLWhlaWdodDogMHB4O1xuICBtaW4td2lkdGg6IDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuY2VsbC5zaHJpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuYXV0byB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc2hyaW5rIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXggPiAuc21hbGwtZnVsbCwgLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXgtYmFzaXM6IGF1dG87IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC14ID4gLnhsYXJnZS0xLCAuZ3JpZC14ID4gLnhsYXJnZS0yLCAuZ3JpZC14ID4gLnhsYXJnZS0zLCAuZ3JpZC14ID4gLnhsYXJnZS00LCAuZ3JpZC14ID4gLnhsYXJnZS01LCAuZ3JpZC14ID4gLnhsYXJnZS02LCAuZ3JpZC14ID4gLnhsYXJnZS03LCAuZ3JpZC14ID4gLnhsYXJnZS04LCAuZ3JpZC14ID4gLnhsYXJnZS05LCAuZ3JpZC14ID4gLnhsYXJnZS0xMCwgLmdyaWQteCA+IC54bGFyZ2UtMTEsIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC14ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLnh4bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmdyaWQteCA+IC54eGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54eGxhcmdlLTEsIC5ncmlkLXggPiAueHhsYXJnZS0yLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMywgLmdyaWQteCA+IC54eGxhcmdlLTQsIC5ncmlkLXggPiAueHhsYXJnZS01LCAuZ3JpZC14ID4gLnh4bGFyZ2UtNiwgLmdyaWQteCA+IC54eGxhcmdlLTcsIC5ncmlkLXggPiAueHhsYXJnZS04LCAuZ3JpZC14ID4gLnh4bGFyZ2UtOSwgLmdyaWQteCA+IC54eGxhcmdlLTEwLCAuZ3JpZC14ID4gLnh4bGFyZ2UtMTEsIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi15Om5vdCguZ3JpZC15KSA+IC5jZWxsIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLW1hcmdpbi14IHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggPiAuY2VsbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54bGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC54bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC54eGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueHhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC54eGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lnh4bGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC54bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnh4bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueHhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnh4bGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC45Mzc1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54eGxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQteSA+IC54bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnhsYXJnZS1mdWxsLCAuZ3JpZC15ID4gLnhsYXJnZS0xLCAuZ3JpZC15ID4gLnhsYXJnZS0yLCAuZ3JpZC15ID4gLnhsYXJnZS0zLCAuZ3JpZC15ID4gLnhsYXJnZS00LCAuZ3JpZC15ID4gLnhsYXJnZS01LCAuZ3JpZC15ID4gLnhsYXJnZS02LCAuZ3JpZC15ID4gLnhsYXJnZS03LCAuZ3JpZC15ID4gLnhsYXJnZS04LCAuZ3JpZC15ID4gLnhsYXJnZS05LCAuZ3JpZC15ID4gLnhsYXJnZS0xMCwgLmdyaWQteSA+IC54bGFyZ2UtMTEsIC5ncmlkLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluaywgLmdyaWQteSA+IC54eGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueHhsYXJnZS0xLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMiwgLmdyaWQteSA+IC54eGxhcmdlLTMsIC5ncmlkLXkgPiAueHhsYXJnZS00LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNSwgLmdyaWQteSA+IC54eGxhcmdlLTYsIC5ncmlkLXkgPiAueHhsYXJnZS03LCAuZ3JpZC15ID4gLnh4bGFyZ2UtOCwgLmdyaWQteSA+IC54eGxhcmdlLTksIC5ncmlkLXkgPiAueHhsYXJnZS0xMCwgLmdyaWQteSA+IC54eGxhcmdlLTExLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLXkgPiAueHhsYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2Utc2hyaW5rLCAuZ3JpZC15ID4gLnh4bGFyZ2UtMSwgLmdyaWQteSA+IC54eGxhcmdlLTIsIC5ncmlkLXkgPiAueHhsYXJnZS0zLCAuZ3JpZC15ID4gLnh4bGFyZ2UtNCwgLmdyaWQteSA+IC54eGxhcmdlLTUsIC5ncmlkLXkgPiAueHhsYXJnZS02LCAuZ3JpZC15ID4gLnh4bGFyZ2UtNywgLmdyaWQteSA+IC54eGxhcmdlLTgsIC5ncmlkLXkgPiAueHhsYXJnZS05LCAuZ3JpZC15ID4gLnh4bGFyZ2UtMTAsIC5ncmlkLXkgPiAueHhsYXJnZS0xMSwgLmdyaWQteSA+IC54eGxhcmdlLTEyIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54eGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLnh4bGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueHhsYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmNlbGwgLmdyaWQtZnJhbWUge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2VsbC1ibG9jayB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay15IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuXG4uY2VsbC1ibG9jay1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVkaXVtLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2sge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2steSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC54bGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAueHhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnh4bGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAueHhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbi5jZWxsIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2VsbCAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuY2VsbCAuZ3JpZC15Lnh4bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueHhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54eGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnh4bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS54eGxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG4jY2FydC1jb250YWluZXIgaDIsXG5oMyxcbmg0LFxuLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUsXG4uY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tdGl0bGUsXG4uY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCxcbi5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLm9wdGlvbi1saW5lIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLCAuaDEsXG5oMixcbiNjYXJ0LWNvbnRhaW5lciBoMiwgLmgyLCAuaDItd2hpdGUtY2VudGVyLCBoMi53aGl0ZS1jZW50ZXIsIC5uZXdzbGV0dGVyLWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50IGgyLCBoMiwgI2NhcnQtY29udGFpbmVyIGgyLFxuaDMsIC5oMyxcbmg0LFxuLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUsXG4uY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIGgxIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi10aXRsZSwgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoMSAuYWNjb3JkaW9uLXRpdGxlLFxuICBoMSAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCwgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoMSAuYWNjb3JkaW9uLWNvbnRlbnQsXG4gIGgxIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLm9wdGlvbi1saW5lLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIGgxIC5vcHRpb24tbGluZSwgLmgxIHNtYWxsLCAuaDEgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLXRpdGxlLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5oMSAuYWNjb3JkaW9uLXRpdGxlLFxuICAuaDEgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmgxIC5hY2NvcmRpb24tY29udGVudCxcbiAgLmgxIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLm9wdGlvbi1saW5lLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5oMSAub3B0aW9uLWxpbmUsXG4gIGgyIHNtYWxsLFxuICAjY2FydC1jb250YWluZXIgaDIgc21hbGwsXG4gIGgyIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi10aXRsZSxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoMiAuYWNjb3JkaW9uLXRpdGxlLFxuICAjY2FydC1jb250YWluZXIgaDIgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLXRpdGxlLFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uICNjYXJ0LWNvbnRhaW5lciBoMiAuYWNjb3JkaW9uLXRpdGxlLFxuICBoMiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoMiAuYWNjb3JkaW9uLWNvbnRlbnQsXG4gICNjYXJ0LWNvbnRhaW5lciBoMiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAjY2FydC1jb250YWluZXIgaDIgLmFjY29yZGlvbi1jb250ZW50LFxuICBoMiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5vcHRpb24tbGluZSxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoMiAub3B0aW9uLWxpbmUsXG4gICNjYXJ0LWNvbnRhaW5lciBoMiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5vcHRpb24tbGluZSxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAjY2FydC1jb250YWluZXIgaDIgLm9wdGlvbi1saW5lLCAuaDIgc21hbGwsIC5oMi13aGl0ZS1jZW50ZXIgc21hbGwsIGgyLndoaXRlLWNlbnRlciBzbWFsbCwgLm5ld3NsZXR0ZXItYm94LWNvbnRhaW5lciAuY2VsbCA+ICogLmZsZXgtYm94LWNvbnRlbnQgaDIgc21hbGwsIGgyIHNtYWxsLCAjY2FydC1jb250YWluZXIgaDIgc21hbGwsIC5oMiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tdGl0bGUsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmgyIC5hY2NvcmRpb24tdGl0bGUsIC5oMi13aGl0ZS1jZW50ZXIgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLXRpdGxlLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5oMi13aGl0ZS1jZW50ZXIgLmFjY29yZGlvbi10aXRsZSwgaDIgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLXRpdGxlLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIGgyIC5hY2NvcmRpb24tdGl0bGUsICNjYXJ0LWNvbnRhaW5lciBoMiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tdGl0bGUsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gI2NhcnQtY29udGFpbmVyIGgyIC5hY2NvcmRpb24tdGl0bGUsXG4gIC5oMiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCwgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuaDIgLmFjY29yZGlvbi1jb250ZW50LFxuICAuaDItd2hpdGUtY2VudGVyIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi1jb250ZW50LCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5oMi13aGl0ZS1jZW50ZXIgLmFjY29yZGlvbi1jb250ZW50LFxuICBoMiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCwgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoMiAuYWNjb3JkaW9uLWNvbnRlbnQsXG4gICNjYXJ0LWNvbnRhaW5lciBoMiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCwgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAjY2FydC1jb250YWluZXIgaDIgLmFjY29yZGlvbi1jb250ZW50LFxuICAuaDIgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAub3B0aW9uLWxpbmUsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmgyIC5vcHRpb24tbGluZSxcbiAgLmgyLXdoaXRlLWNlbnRlciAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5vcHRpb24tbGluZSwgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuaDItd2hpdGUtY2VudGVyIC5vcHRpb24tbGluZSxcbiAgaDIgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAub3B0aW9uLWxpbmUsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gaDIgLm9wdGlvbi1saW5lLFxuICAjY2FydC1jb250YWluZXIgaDIgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAub3B0aW9uLWxpbmUsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gI2NhcnQtY29udGFpbmVyIGgyIC5vcHRpb24tbGluZSxcbiAgaDMgc21hbGwsXG4gIGgzIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi10aXRsZSxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoMyAuYWNjb3JkaW9uLXRpdGxlLFxuICBoMyAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoMyAuYWNjb3JkaW9uLWNvbnRlbnQsXG4gIGgzIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLm9wdGlvbi1saW5lLFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIGgzIC5vcHRpb24tbGluZSwgLmgzIHNtYWxsLCAuaDMgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLXRpdGxlLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5oMyAuYWNjb3JkaW9uLXRpdGxlLFxuICAuaDMgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmgzIC5hY2NvcmRpb24tY29udGVudCxcbiAgLmgzIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLm9wdGlvbi1saW5lLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5oMyAub3B0aW9uLWxpbmUsXG4gIGg0IHNtYWxsLFxuICAuY2FyZHNfYmxvY2sgLmdyaWQteCAuY2VsbCAuY2FyZCAuY2FyZC1zZWN0aW9uIC50aXRsZSBzbWFsbCxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLmFjY29yZGlvbiA+IC5hY2NvcmRpb24tdGl0bGUgc21hbGwsXG4gIGg0IC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi10aXRsZSxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoNCAuYWNjb3JkaW9uLXRpdGxlLFxuICAuY2FyZHNfYmxvY2sgLmdyaWQteCAuY2VsbCAuY2FyZCAuY2FyZC1zZWN0aW9uIC50aXRsZSAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tdGl0bGUsXG4gIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUgLmFjY29yZGlvbi10aXRsZSxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLmFjY29yZGlvbiA+IC5hY2NvcmRpb24tdGl0bGUgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLXRpdGxlLFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24gPiAuYWNjb3JkaW9uLXRpdGxlIC5hY2NvcmRpb24tdGl0bGUsXG4gIGg0IC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi1jb250ZW50LFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIGg0IC5hY2NvcmRpb24tY29udGVudCxcbiAgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQsXG4gIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUgLmFjY29yZGlvbi1jb250ZW50LFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSAuYWNjb3JkaW9uLWNvbnRlbnQsXG4gIGg0IC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLm9wdGlvbi1saW5lLFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIGg0IC5vcHRpb24tbGluZSxcbiAgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAub3B0aW9uLWxpbmUsXG4gIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUgLm9wdGlvbi1saW5lLFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5vcHRpb24tbGluZSxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSAub3B0aW9uLWxpbmUsIC5oNCBzbWFsbCwgLmg0IC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi10aXRsZSwgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuaDQgLmFjY29yZGlvbi10aXRsZSxcbiAgLmg0IC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi1jb250ZW50LCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5oNCAuYWNjb3JkaW9uLWNvbnRlbnQsXG4gIC5oNCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5vcHRpb24tbGluZSwgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuaDQgLm9wdGlvbi1saW5lLFxuICBoNSBzbWFsbCxcbiAgaDUgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLXRpdGxlLFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIGg1IC5hY2NvcmRpb24tdGl0bGUsXG4gIGg1IC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi1jb250ZW50LFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIGg1IC5hY2NvcmRpb24tY29udGVudCxcbiAgaDUgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAub3B0aW9uLWxpbmUsXG4gIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gaDUgLm9wdGlvbi1saW5lLCAuaDUgc21hbGwsIC5oNSAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tdGl0bGUsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmg1IC5hY2NvcmRpb24tdGl0bGUsXG4gIC5oNSAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCwgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuaDUgLmFjY29yZGlvbi1jb250ZW50LFxuICAuaDUgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAub3B0aW9uLWxpbmUsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmg1IC5vcHRpb24tbGluZSxcbiAgaDYgc21hbGwsXG4gIGg2IC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmFjY29yZGlvbi10aXRsZSxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoNiAuYWNjb3JkaW9uLXRpdGxlLFxuICBoNiAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5hY2NvcmRpb24tY29udGVudCxcbiAgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiBoNiAuYWNjb3JkaW9uLWNvbnRlbnQsXG4gIGg2IC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLm9wdGlvbi1saW5lLFxuICAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIGg2IC5vcHRpb24tbGluZSwgLmg2IHNtYWxsLCAuaDYgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLXRpdGxlLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5oNiAuYWNjb3JkaW9uLXRpdGxlLFxuICAuaDYgLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQsIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLmg2IC5hY2NvcmRpb24tY29udGVudCxcbiAgLmg2IC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gLm9wdGlvbi1saW5lLCAuY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAucHJvZHVjdC1jb25maWd1cmF0aW9uIC5oNiAub3B0aW9uLWxpbmUge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGNvbG9yOiAjNUE2ODcyOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5cbmgyLFxuI2NhcnQtY29udGFpbmVyIGgyLCAuaDIsIC5oMi13aGl0ZS1jZW50ZXIsIGgyLndoaXRlLWNlbnRlciwgLm5ld3NsZXR0ZXItYm94LWNvbnRhaW5lciAuY2VsbCA+ICogLmZsZXgtYm94LWNvbnRlbnQgaDIsIGgyLCAjY2FydC1jb250YWluZXIgaDIge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5cbmg0LFxuLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUsXG4uY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSwgLmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1LCAuaDUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBcbiAgaDIsXG4gICNjYXJ0LWNvbnRhaW5lciBoMiwgLmgyLCAuaDItd2hpdGUtY2VudGVyLCBoMi53aGl0ZS1jZW50ZXIsIC5uZXdzbGV0dGVyLWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50IGgyLCBoMiwgI2NhcnQtY29udGFpbmVyIGgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9XG4gIFxuICBoNCxcbiAgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUsXG4gIC5jaGVja291dF9zdW1tYXJ5IC5hY2NvcmRpb24gPiAuYWNjb3JkaW9uLXRpdGxlLCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIGg1LCAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjM0Q3MEIyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzM0NjA5OTsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogODcuNXJlbTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzVBNjg3MjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNUE2ODcyOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzMzMzMzMzsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJQgXCI7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMxNTI5MzU7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzVBNjg3MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMTUyOTM1OyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhDOEM4O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMxNTI5MzU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG5cbi5sZWFkLCAjY2FydC1jb250YWluZXIgLmdyYW5kLXRvdGFsLWNlbGwgLmdyYW5kLXRvdGFsLWNvbnRhaW5lciAuc3VtbWFyeSB0YWJsZSB0ci5ncmFuZC10b3RhbCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbnVsLm5vLWJ1bGxldCwgb2wubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIsIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3MgLnBkdG9vbC0tdmlldyAucGR0b29sLS1oZWFkZXIsIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3MgLnBkdG9vbC0tdmlldyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzMzMzM7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gICNjYXJ0LWNvbnRhaW5lciBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIFxuICBoMixcbiAgI2NhcnQtY29udGFpbmVyIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q3MEIyO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQ1Zjk3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0Q3MEIyO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMxNWE4ZTtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkY3OTg3O1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTYxNmM7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLnRlcnRpYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREM1RTVFO1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgLmJ1dHRvbi50ZXJ0aWFyeTpob3ZlciwgLmJ1dHRvbi50ZXJ0aWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2UyZDJkO1xuICAgICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzJEMjM3O1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVhYWQyNztcbiAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREM1RTVFO1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2UyZDJkO1xuICAgICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmJ1dHRvbi5wZXRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTlCQUU7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgICAuYnV0dG9uLnBldHJvbDpob3ZlciwgLmJ1dHRvbi5wZXRyb2w6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxN2M4YjtcbiAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRDcwQjI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzRDcwQjI7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2Rjc5ODc7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC50ZXJ0aWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0udGVydGlhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQudGVydGlhcnksIC5idXR0b24uZGlzYWJsZWQudGVydGlhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQudGVydGlhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnRlcnRpYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS50ZXJ0aWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0udGVydGlhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREM1RTVFO1xuICAgICAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3MkQyMzc7XG4gICAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEQzVFNUU7XG4gICAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wZXRyb2wsIC5idXR0b25bZGlzYWJsZWRdLnBldHJvbCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wZXRyb2wsIC5idXR0b24uZGlzYWJsZWQucGV0cm9sOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnBldHJvbDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucGV0cm9sLCAuYnV0dG9uW2Rpc2FibGVkXS5wZXRyb2w6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnBldHJvbDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTlCQUU7XG4gICAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjM0Q3MEIyO1xuICAgIGNvbG9yOiAjM0Q3MEIyOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMWYzODU5O1xuICAgICAgY29sb3I6ICMxZjM4NTk7IH1cbiAgICAgIC5idXR0b24uaG9sbG93OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM0Q3MEIyO1xuICAgICAgICBjb2xvcjogIzNENzBCMjsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNENzBCMjtcbiAgICAgIGNvbG9yOiAjM0Q3MEIyOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWYzODU5O1xuICAgICAgICBjb2xvcjogIzFmMzg1OTsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzRDcwQjI7XG4gICAgICAgICAgY29sb3I6ICMzRDcwQjI7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZGNzk4NztcbiAgICAgIGNvbG9yOiAjNkY3OTg3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM4M2Q0NDtcbiAgICAgICAgY29sb3I6ICMzODNkNDQ7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2Rjc5ODc7XG4gICAgICAgICAgY29sb3I6ICM2Rjc5ODc7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy50ZXJ0aWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjREM1RTVFO1xuICAgICAgY29sb3I6ICNEQzVFNUU7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy50ZXJ0aWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgxMWMxYztcbiAgICAgICAgY29sb3I6ICM4MTFjMWM7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cudGVydGlhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cudGVydGlhcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnRlcnRpYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RDNUU1RTtcbiAgICAgICAgICBjb2xvcjogI0RDNUU1RTsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzcyRDIzNztcbiAgICAgIGNvbG9yOiAjNzJEMjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzg2YzE4O1xuICAgICAgICBjb2xvcjogIzM4NmMxODsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MkQyMzc7XG4gICAgICAgICAgY29sb3I6ICM3MkQyMzc7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RDNUU1RTtcbiAgICAgIGNvbG9yOiAjREM1RTVFOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MTFjMWM7XG4gICAgICAgIGNvbG9yOiAjODExYzFjOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEQzVFNUU7XG4gICAgICAgICAgY29sb3I6ICNEQzVFNUU7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wZXRyb2wge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAxOUJBRTtcbiAgICAgIGNvbG9yOiAjMDE5QkFFOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wZXRyb2w6aG92ZXIsIC5idXR0b24uaG9sbG93LnBldHJvbDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAxNGU1NztcbiAgICAgICAgY29sb3I6ICMwMTRlNTc7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucGV0cm9sOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wZXRyb2w6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5wZXRyb2w6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnBldHJvbDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMTlCQUU7XG4gICAgICAgICAgY29sb3I6ICMwMTlCQUU7IH1cbiAgLmJ1dHRvbi5jbGVhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzNENzBCMjtcbiAgICBjb2xvcjogIzNENzBCMjsgfVxuICAgIC5idXR0b24uY2xlYXIsIC5idXR0b24uY2xlYXI6aG92ZXIsIC5idXR0b24uY2xlYXI6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMxZjM4NTk7XG4gICAgICBjb2xvcjogIzFmMzg1OTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNENzBCMjtcbiAgICAgICAgY29sb3I6ICMzRDcwQjI7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhcjpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6Zm9jdXMsIC5idXR0b24uY2xlYXI6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNENzBCMjtcbiAgICAgIGNvbG9yOiAjM0Q3MEIyOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzFmMzg1OTtcbiAgICAgICAgY29sb3I6ICMxZjM4NTk7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzRDcwQjI7XG4gICAgICAgICAgY29sb3I6ICMzRDcwQjI7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6aG92ZXIsIC5idXR0b24uY2xlYXIucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzZGNzk4NztcbiAgICAgIGNvbG9yOiAjNkY3OTg3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzODNkNDQ7XG4gICAgICAgIGNvbG9yOiAjMzgzZDQ0OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2Rjc5ODc7XG4gICAgICAgICAgY29sb3I6ICM2Rjc5ODc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjREM1RTVFO1xuICAgICAgY29sb3I6ICNEQzVFNUU7IH1cbiAgICAgIC5idXR0b24uY2xlYXIudGVydGlhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIudGVydGlhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MTFjMWM7XG4gICAgICAgIGNvbG9yOiAjODExYzFjOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIudGVydGlhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIudGVydGlhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RDNUU1RTtcbiAgICAgICAgICBjb2xvcjogI0RDNUU1RTsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeSwgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci50ZXJ0aWFyeVtkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIudGVydGlhcnk6aG92ZXIsIC5idXR0b24uY2xlYXIudGVydGlhcnk6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIudGVydGlhcnk6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmZvY3VzLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnRlcnRpYXJ5OmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzcyRDIzNztcbiAgICAgIGNvbG9yOiAjNzJEMjM3OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzM4NmMxODtcbiAgICAgICAgY29sb3I6ICMzODZjMTg7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MkQyMzc7XG4gICAgICAgICAgY29sb3I6ICM3MkQyMzc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLmJ1dHRvbi5jbGVhci5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc3VjY2Vzczpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC5idXR0b24uY2xlYXIud2FybmluZy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLndhcm5pbmc6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0RDNUU1RTtcbiAgICAgIGNvbG9yOiAjREM1RTVFOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODExYzFjO1xuICAgICAgICBjb2xvcjogIzgxMWMxYzsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEQzVFNUU7XG4gICAgICAgICAgY29sb3I6ICNEQzVFNUU7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnRbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5wZXRyb2wge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAxOUJBRTtcbiAgICAgIGNvbG9yOiAjMDE5QkFFOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnBldHJvbDpob3ZlciwgLmJ1dHRvbi5jbGVhci5wZXRyb2w6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMTRlNTc7XG4gICAgICAgIGNvbG9yOiAjMDE0ZTU3OyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIucGV0cm9sOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnBldHJvbDpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIucGV0cm9sOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnBldHJvbDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMTlCQUU7XG4gICAgICAgICAgY29sb3I6ICMwMTlCQUU7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucGV0cm9sLCAuYnV0dG9uLmNsZWFyLnBldHJvbC5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wZXRyb2xbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnBldHJvbDpob3ZlciwgLmJ1dHRvbi5jbGVhci5wZXRyb2w6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIucGV0cm9sOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wZXRyb2w6Zm9jdXMsIC5idXR0b24uY2xlYXIucGV0cm9sOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnBldHJvbDpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3c6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM0Q3MEIyOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnByaW1hcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM0Q3MEIyOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICM2Rjc5ODc7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cudGVydGlhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjREM1RTVFOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzJEMjM3OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI0RDNUU1RTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wZXRyb2w6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMDE5QkFFOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIHRvcDogLTAuMWVtO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbmEuYnV0dG9uOmhvdmVyLCBhLmJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGQkZCO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgyMSwgNDEsIDUzLCAwLjA1KTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMxNTI5MzU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzVBNjg3MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI0VBRUFFQTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQUVBRUE7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNDOEM4Qzg7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMxNTI5MzU7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzE1MjkzNTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4IDAgMCAycHg7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgYmFja2dyb3VuZDogI0VBRUFFQTtcbiAgY29sb3I6ICMxNTI5MzU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGQkZCO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzE1MjkzNTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjg1MSwgNTEsIDUxJTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNUE2ODcyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjRUFFQUVBO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRUFFQTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI0RDNUU1RTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZWZlZjsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjREM1RTVFOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNEQzVFNUU7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0RDNUU1RTsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMnB4IDJweDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogIzNENzBCMjsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0M4QzhDODtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMnB4IDJweDsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUFFQUVBOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgY29udGVudDogJysnOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXDIwMTMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMTUyOTM1OyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4OyB9XG5cbi5hY2NvcmRpb24tbWVudSBsaSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5hY2NvcmRpb24tbWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51IC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMzRDcwQjIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87IH1cblxuLmFjY29yZGlvbi1tZW51LmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG5cbi5zdWJtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zdWJtZW51LXRvZ2dsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzNENzBCMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgcGFkZGluZzogMC4zZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzNENzBCMjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhZGdlLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMzRDcwQjI7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzZGNzk4NztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuYmFkZ2UudGVydGlhcnkge1xuICAgIGJhY2tncm91bmQ6ICNEQzVFNUU7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICM3MkQyMzc7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjREM1RTVFO1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5iYWRnZS5wZXRyb2wge1xuICAgIGJhY2tncm91bmQ6ICMwMTlCQUU7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjMTUyOTM1O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICM1QTY4NzI7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjM0Q3MEIyOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICM1QTY4NzI7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNENzBCMjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE1YThlO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZGNzk4NztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU5NjE2YztcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAudGVydGlhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RDNUU1RTtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAgIC5idXR0b24tZ3JvdXAudGVydGlhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC50ZXJ0aWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZTJkMmQ7XG4gICAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyRDIzNztcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWFhZDI3O1xuICAgICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RDNUU1RTtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZTJkMmQ7XG4gICAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAuYnV0dG9uLWdyb3VwLnBldHJvbCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE5QkFFO1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wZXRyb2wgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wZXRyb2wgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE3YzhiO1xuICAgICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDFyZW0gMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEsIDQxLCA1MywgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcbiAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlOWY1O1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWJlZDtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAuY2FsbG91dC50ZXJ0aWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZTdlNztcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFmOGUxO1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWU3ZTc7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmNhbGxvdXQucGV0cm9sIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RmOWZmO1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0VBRUFFQTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kOiAjRkJGQkZCO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzE1MjkzNTsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZzogMC41cmVtIDFyZW0gMC44cmVtO1xuICBiYWNrZ3JvdW5kOiAjQzhDOEM4OyB9XG4gIC5jYXJkLWRpdmlkZXIgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1zZWN0aW9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAuOHJlbTsgfVxuICAuY2FyZC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtaW1hZ2Uge1xuICBtaW4taGVpZ2h0OiAxcHg7IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAuY2xvc2UtYnV0dG9uLnNtYWxsIHtcbiAgICByaWdodDogMC42NnJlbTtcbiAgICB0b3A6IDAuMzNlbTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5jbG9zZS1idXR0b24sIC5jbG9zZS1idXR0b24ubWVkaXVtIHtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubWVudSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51IGxpIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51IGEsXG4gIC5tZW51IC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS54bGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUueGxhcmdlLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS54bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51Lnh4bGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lnh4bGFyZ2Utc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5pY29ucyBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tdG9wIGEsIC5tZW51Lmljb24tcmlnaHQgYSwgLm1lbnUuaWNvbi1ib3R0b20gYSwgLm1lbnUuaWNvbi1sZWZ0IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudSAuaXMtYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzNENzBCMjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzNENzBCMjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodCAubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm1lbnUuYWxpZ24tY2VudGVyIGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudSAubWVudS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmZmZmLCAwIDE0cHggMCAjZmZmZmZmO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNUE2ODcyO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzVBNjg3MiwgMCAxNHB4IDAgIzVBNjg3MjsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTUyOTM1O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzE1MjkzNSwgMCAxNHB4IDAgIzE1MjkzNTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzMzMzMzMywgMCAxNHB4IDAgIzMzMzMzMzsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5pcy1kcmlsbGRvd24uYW5pbWF0ZS1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzOyB9XG5cbi5kcmlsbGRvd24gYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyaWxsZG93biAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJpbGxkb3duIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM0Q3MEIyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24uYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM0Q3MEIyO1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzRDcwQjIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNENzBCMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1QTY4NzI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMzRDcwQjIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjM0Q3MEIyOyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzRDcwQjIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNENzBCMjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzNENzBCMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNENzBCMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM0Q3MEIyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzNENzBCMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMzRDcwQjIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM0Q3MEIyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzNENzBCMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNENzBCMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjM0Q3MEIyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMzRDcwQjIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNENzBCMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNENzBCMjsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC02cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzVBNjg3MjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUgYSB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzNENzBCMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzNENzBCMjsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzNENzBCMjtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMzRDcwQjI7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzZGNzk4NztcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFiZWwudGVydGlhcnkge1xuICAgIGJhY2tncm91bmQ6ICNEQzVFNUU7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICM3MkQyMzc7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjREM1RTVFO1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5sYWJlbC5wZXRyb2wge1xuICAgIGJhY2tncm91bmQ6ICMwMTlCQUU7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB2aXNpYmlsaXR5IDAuM3MgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMSwgNDEsIDUzLCAwLjM1KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtY2xvc2FibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5LmlzLW92ZXJsYXktZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6IDEyOyB9XG4gIC5vZmYtY2FudmFzLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDIxLCA0MSwgNTMsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjEsIDQxLCA1MywgMC43KTsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ucG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMzEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzEwcHgpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc2l0aW9uLWxlZnQge1xuICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zNTBweCk7IH0gfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzEwcHgpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzUwcHgpOyB9IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMxMHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDM1MHB4KTsgfSB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCB0cmFuc3BhcmVudDsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAzMTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMxMHB4KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3NpdGlvbi1yaWdodCB7XG4gICAgICB3aWR0aDogMzUwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzUwcHgpOyB9IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMxMHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDM1MHB4KTsgfSB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMTBweCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTM1MHB4KTsgfSB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgdHJhbnNwYXJlbnQ7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMzEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzEwcHgpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBvc2l0aW9uLXRvcCB7XG4gICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNTBweCk7IH0gfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXRvcCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMTBweCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3Age1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTM1MHB4KTsgfSB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXRvcC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzEwcHgpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzNTBweCk7IH0gfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCB0cmFuc3BhcmVudDsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgaGVpZ2h0OiAzMTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMxMHB4KTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzNTBweCk7IH0gfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMxMHB4KTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzNTBweCk7IH0gfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi1ib3R0b20uaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMTBweCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWJvdHRvbS5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNTBweCk7IH0gfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCB0cmFuc3BhcmVudDsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAzNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDM1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzUwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDM1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAzNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNTBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAzNTBweDsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDM1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDM1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDM1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1yaWdodCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteHhsYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14eGxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXh4bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEsIDQxLCA1MywgMC41KTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEsIDQxLCA1MywgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVBNjg3MjsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI0M4QzhDODsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMzRDcwQjI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjNUE2ODcyO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUE2ODcyOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNENzBCMjsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZGNzk4NzsgfVxuICAucHJvZ3Jlc3MudGVydGlhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREM1RTVFOyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcyRDIzNzsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RDNUU1RTsgfVxuICAucHJvZ3Jlc3MucGV0cm9sIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxOUJBRTsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENzBCMjtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOEM4Qzg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUE2ODcyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNENzBCMjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM0NWY5NzsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgNDEsIDUzLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiA0cmVtO1xuICBib3JkZXI6IDVweCBzb2xpZCAjMDE5QkFFO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA4Ny41cmVtOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA4Ny41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDg3LjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogODcuNXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zd2l0Y2gge1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kOiAjNUE2ODcyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzAxOUJBRTsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSB7XG4gIGhlaWdodDogMS41cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDNyZW07XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07IH1cbiAgLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCB7XG4gIGhlaWdodDogMS43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogMy41cmVtO1xuICAgIGhlaWdodDogMS43NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMS4yNXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSB7XG4gIGhlaWdodDogMi41cmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Y3ZjdmNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogI2ZiZmJmYjtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICB0YWJsZS51bnN0cmlwZWQgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICB0YWJsZS51bnN0cmlwZWQgdGJvZHkgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjdmN2Y3O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbnRhYmxlLmhvdmVyOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIGJhY2tncm91bmQ6ICNFQUVBRUE7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjM0Q3MEIyOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjM2E2YWE5OyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgIGNvbG9yOiAjMTIyMzJlOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICBjb2xvcjogIzNENzBCMjsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMxNTI5MzU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyMSwgNDEsIDUzLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDYxLCAxMTIsIDE3OCwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMTUyOTM1O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUyOTM1O1xuICBmb250LXNpemU6IDgwJTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRvb2x0aXA6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b29sdGlwLmJvdHRvbTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTUyOTM1O1xuICAgIGJvdHRvbTogMTAwJTsgfVxuICAudG9vbHRpcC5ib3R0b20uYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMxNTI5MzUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bzsgfVxuICAudG9vbHRpcC50b3AuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTUyOTM1O1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLnRvb2x0aXAubGVmdC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTUyOTM1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLnRvb2x0aXAucmlnaHQuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTsgfVxuICAudG9vbHRpcC5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC50b29sdGlwLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTsgfVxuXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNHJlbSAwO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci14bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuXG4udG9wLWJhci1sZWZ0LFxuLnRvcC1iYXItcmlnaHQge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLWxlZnQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlLCAudGFicy5mcmVlIC50YWJzLXRpdGxlIGEgLmdyaWQteCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLmFsaWduLWNlbnRlci1taWRkbGUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnhsYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLnh4bGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54eGxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueHhsYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnh4bGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWNjdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuXG4udGV4dC10cnVuY2F0ZSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgfVxuXG4udGV4dC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdXBwZXJjYXNlLCAuUERUT09MRk9MREVSIC5wZHRvb2wtLXZpZXdzIC5wZHRvb2wtLXZpZXcgLnBkdG9vbC0taGVhZGVyIGgzLCAuUERUT09MRk9MREVSIC5wZHRvb2wtLXZpZXdzIC5wZHRvb2wtLXZpZXcgLmJ0biB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4udGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1vdmVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogb3ZlcmxpbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC11bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWxpbmUtdGhyb3VnaCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICFpbXBvcnRhbnQ7IH1cblxuLmZvbnQtd2lkZSB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjI1cmVtOyB9XG5cbi5mb250LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmZvbnQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5mb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9XG5cbnVsLmxpc3QtZGlzYyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50OyB9XG5cbnVsLmxpc3QtY2lyY2xlIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGUgIWltcG9ydGFudDsgfVxuXG51bC5saXN0LXNxdWFyZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC1kZWNpbWFsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC1sb3dlci1hbHBoYSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGEgIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LWxvd2VyLWxhdGluIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1sYXRpbiAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtbG93ZXItcm9tYW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC11cHBlci1hbHBoYSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGEgIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LXVwcGVyLWxhdGluIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1sYXRpbiAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtdXBwZXItcm9tYW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuICFpbXBvcnRhbnQ7IH1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDsgfVxuICAucm91bmRlZDphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH1cblxuLmJvcmRlcmVkIHtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzVBNjg3MjsgfVxuXG4uc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLmFycm93LWRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTUyOTM1IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5hcnJvdy11cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNTI5MzU7IH1cblxuLmFycm93LXJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE1MjkzNTsgfVxuXG4uYXJyb3ctbGVmdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNTI5MzUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLnNlcGFyYXRvci1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAuc2VwYXJhdG9yLWNlbnRlcjo6YmVmb3JlLCAuc2VwYXJhdG9yLWNlbnRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zZXBhcmF0b3ItY2VudGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNlcGFyYXRvci1jZW50ZXI6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjM0Q3MEIyO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvIDA7IH1cblxuLnNlcGFyYXRvci1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC5zZXBhcmF0b3ItbGVmdDo6YmVmb3JlLCAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc2VwYXJhdG9yLWxlZnQ6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjM0Q3MEIyO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvIDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4uc2VwYXJhdG9yLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAuc2VwYXJhdG9yLXJpZ2h0OjpiZWZvcmUsIC5zZXBhcmF0b3ItcmlnaHQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuc2VwYXJhdG9yLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNlcGFyYXRvci1yaWdodDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMzRDcwQjI7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3ctdmlzaWJsZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXgtdmlzaWJsZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3cteS12aXNpYmxlIHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50OyB9XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXgtaGlkZGVuIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXktaGlkZGVuIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLm92ZXJmbG93LXNjcm9sbCB7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3cteC1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBzY3JvbGwgIWltcG9ydGFudDsgfVxuXG4ub3ZlcmZsb3cteS1zY3JvbGwge1xuICBvdmVyZmxvdy15OiBzY3JvbGwgIWltcG9ydGFudDsgfVxuXG4uZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuXG4uZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uZGlzcGxheS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmRpc3BsYXktdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbi5kaXNwbGF5LXRhYmxlLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuLnBvc2l0aW9uLXN0YXRpYyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG4ucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHRvcDogMHJlbSAhaW1wb3J0YW50O1xuICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk3NTsgfVxuXG4ucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMHJlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDk3NTsgfVxuXG4uYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ud2lkdGgtMjUge1xuICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7IH1cblxuLndpZHRoLTUwIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbi53aWR0aC03NSB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuXG4ud2lkdGgtMTAwIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTI1IHtcbiAgaGVpZ2h0OiAyNSUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTUwIHtcbiAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTc1IHtcbiAgaGVpZ2h0OiA3NSUgIWltcG9ydGFudDsgfVxuXG4uaGVpZ2h0LTEwMCB7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLm1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tMCB7XG4gIG1hcmdpbjogMHJlbTsgfVxuXG4ubWFyZ2luLXRvcC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tcmlnaHQtMCB7XG4gIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTAge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1sZWZ0LTAge1xuICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0wIHtcbiAgbWFyZ2luLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctMCB7XG4gIHBhZGRpbmc6IDByZW07IH1cblxuLnBhZGRpbmctdG9wLTAge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXJpZ2h0LTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTAge1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWxlZnQtMCB7XG4gIHBhZGRpbmctbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMCB7XG4gIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi0xIHtcbiAgbWFyZ2luOiAxcmVtOyB9XG5cbi5tYXJnaW4tdG9wLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tMSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtMSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTEge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy0xIHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4ucGFkZGluZy10b3AtMSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctcmlnaHQtMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ib3R0b20tMSB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctbGVmdC0xIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctaG9yaXpvbnRhbC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy12ZXJ0aWNhbC0xIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLTIge1xuICBtYXJnaW46IDJyZW07IH1cblxuLm1hcmdpbi10b3AtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXJpZ2h0LTIge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWJvdHRvbS0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tbGVmdC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWhvcml6b250YWwtMiB7XG4gIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdmVydGljYWwtMiB7XG4gIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLTIge1xuICBwYWRkaW5nOiAycmVtOyB9XG5cbi5wYWRkaW5nLXRvcC0yIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC0yIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS0yIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTIge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTIge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTIge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tMyB7XG4gIG1hcmdpbjogM3JlbTsgfVxuXG4ubWFyZ2luLXRvcC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tcmlnaHQtMyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tYm90dG9tLTMge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1sZWZ0LTMge1xuICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4taG9yaXpvbnRhbC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi12ZXJ0aWNhbC0zIHtcbiAgbWFyZ2luLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctMyB7XG4gIHBhZGRpbmc6IDNyZW07IH1cblxuLnBhZGRpbmctdG9wLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXJpZ2h0LTMge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctYm90dG9tLTMge1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWxlZnQtMyB7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWhvcml6b250YWwtMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLnBhZGRpbmctdmVydGljYWwtMyB7XG4gIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmFyaWFibGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEV4dGFuZGFibGUgY2xhc3Nlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRoaW4sIC5tZW51LWZvbnQsICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLW5hbWUsIC5oMiwgLmgyLXdoaXRlLWNlbnRlciwgaDIud2hpdGUtY2VudGVyLCAubmV3c2xldHRlci1ib3gtY29udGFpbmVyIC5jZWxsID4gKiAuZmxleC1ib3gtY29udGVudCBoMiwgaDIsICNjYXJ0LWNvbnRhaW5lciBoMiwgaDEge1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5tZW51LWZvbnQsICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLW5hbWUge1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50aXRsZS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRpdGxlLWNlbnRlcjpiZWZvcmUge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uaDI6YmVmb3JlLCAuaDItd2hpdGUtY2VudGVyOmJlZm9yZSwgaDIud2hpdGUtY2VudGVyOmJlZm9yZSwgLm5ld3NsZXR0ZXItYm94LWNvbnRhaW5lciAuY2VsbCA+ICogLmZsZXgtYm94LWNvbnRlbnQgaDI6YmVmb3JlLCBoMjpiZWZvcmUsICNjYXJ0LWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE5QkFFO1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDEwcHggMCAxMHB4OyB9XG5cbi5oMi13aGl0ZS1jZW50ZXIsIGgyLndoaXRlLWNlbnRlciwgI2NhcnQtY29udGFpbmVyIGgyLndoaXRlLWNlbnRlciwgLm5ld3NsZXR0ZXItYm94LWNvbnRhaW5lciAuY2VsbCA+ICogLmZsZXgtYm94LWNvbnRlbnQgaDIsIC5uZXdzbGV0dGVyLWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50ICNjYXJ0LWNvbnRhaW5lciBoMiwgI2NhcnQtY29udGFpbmVyIC5uZXdzbGV0dGVyLWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50IGgyIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmgyLXdoaXRlLWNlbnRlcjpiZWZvcmUsIGgyLndoaXRlLWNlbnRlcjpiZWZvcmUsICNjYXJ0LWNvbnRhaW5lciBoMi53aGl0ZS1jZW50ZXI6YmVmb3JlLCAubmV3c2xldHRlci1ib3gtY29udGFpbmVyIC5jZWxsID4gKiAuZmxleC1ib3gtY29udGVudCBoMjpiZWZvcmUsIC5uZXdzbGV0dGVyLWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50ICNjYXJ0LWNvbnRhaW5lciBoMjpiZWZvcmUsICNjYXJ0LWNvbnRhaW5lciAubmV3c2xldHRlci1ib3gtY29udGFpbmVyIC5jZWxsID4gKiAuZmxleC1ib3gtY29udGVudCBoMjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRpdGxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5oMSxcbmgyLFxuI2NhcnQtY29udGFpbmVyIGgyLCBoMyxcbmg0LFxuLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUsXG4uY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5sZWZ0LWNvbHVtbiA+IHNlY3Rpb246bnRoLWNoaWxkKDEpID4gaDI6bnRoLWNoaWxkKDEpLCAjY2FydC1jb250YWluZXIgLmxlZnQtY29sdW1uID4gc2VjdGlvbjpudGgtY2hpbGQoMSkgPiBoMjpudGgtY2hpbGQoMSkge1xuICBtYXJnaW4tdG9wOiBpbml0aWFsOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN1YiBUaXRsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnN1YnRpdGxlLFxuLnN1YnRpdGxlIC5oYXMtdGlwIHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VwYXJhdG9yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ociB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpc3QgLSBQYWdlIHN0YXRpY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI0xlZnRDb2x1bW4ubGVmdC1jb2x1bW4gbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gIHNyYzogdXJsKFwiLi4vZm9udC9pY29tb29uLmVvdD9rZXYzNHdcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udC9pY29tb29uLmVvdD9rZXYzNHcjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnQvaWNvbW9vbi53b2ZmMj9rZXYzNHdcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnQvaWNvbW9vbi50dGY/a2V2MzR3XCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250L2ljb21vb24ud29mZj9rZXYzNHdcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udC9pY29tb29uLnN2Zz9rZXYzNHcjaWNvbW9vblwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4uaWNvbi1zdHlsZSwgW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdLCAuaGVscGVyLWljb24sIC5zZWxlY3QtY2xvbmU6YmVmb3JlIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb24tY29va2llLWJpdGUtc29saWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDhcIjsgfVxuXG4uaWNvbi13ZWJjYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDVcIjsgfVxuXG4uaWNvbi12ZXJyZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2ZcIjsgfVxuXG4uaWNvbi1ub3JtYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI1XCI7IH1cblxuLmljb24tcGV0aXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI0XCI7IH1cblxuLmljb24tcm9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiOyB9XG5cbi5pY29uLXBhcnRpZS1zdXBlcmlldXIgLnBhdGgxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE0XCI7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4uaWNvbi1wYXJ0aWUtc3VwZXJpZXVyIC5wYXRoMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNVwiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogI2E1YTVhNTsgfVxuXG4uaWNvbi1wYXJ0aWUtc3VwZXJpZXVyIC5wYXRoMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogI2E1YTVhNTsgfVxuXG4uaWNvbi1wYXJ0aWUtaW5mZXJpZXVyIC5wYXRoMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMVwiO1xuICBjb2xvcjogI2E1YTVhNTsgfVxuXG4uaWNvbi1wYXJ0aWUtaW5mZXJpZXVyIC5wYXRoMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMlwiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogYmxhY2s7IH1cblxuLmljb24tcGFydGllLWluZmVyaWV1ciAucGF0aDM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTNcIjtcbiAgbWFyZ2luLWxlZnQ6IC0yLjIyNjU2MjVlbTtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi5pY29uLW92YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjsgfVxuXG4uaWNvbi1pbnZpc2libGUgLnBhdGgxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4uaWNvbi1pbnZpc2libGUgLnBhdGgyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMi4yMjY1NjI1ZW07XG4gIGNvbG9yOiAjYTVhNWE1OyB9XG5cbi5pY29uLWludmlzaWJsZSAucGF0aDM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgbWFyZ2luLWxlZnQ6IC0yLjIyNjU2MjVlbTtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi5pY29uLWludmlzaWJsZSAucGF0aDQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGRcIjtcbiAgbWFyZ2luLWxlZnQ6IC0yLjIyNjU2MjVlbTtcbiAgY29sb3I6ICNhNWE1YTU7IH1cblxuLmljb24taW52aXNpYmxlIC5wYXRoNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZlwiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogYmxhY2s7IH1cblxuLmljb24tZ3JhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjsgfVxuXG4uaWNvbi1ldHJvaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7IH1cblxuLmljb24tY29tcGxldGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDZcIjsgfVxuXG4uaWNvbi1jYXJyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjsgfVxuXG4uaWNvbi13b29kLWZlbGxhczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk5OFwiOyB9XG5cbi5pY29uLXRvbS1mb3JkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTcxXCI7IH1cblxuLmljb24tVG9kX3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzBcIjsgfVxuXG4uaWNvbi1UaW1iZXJsYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTZmXCI7IH1cblxuLmljb24tcmF5LWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1M1wiOyB9XG5cbi5pY29uLXJhbHBoLWxhdXJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1MlwiOyB9XG5cbi5pY29uLXByYWRhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTUxXCI7IH1cblxuLmljb24tb2FrbGV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ0XCI7IH1cblxuLmljb24tbmlrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0M1wiOyB9XG5cbi5pY29uLW1hcnNoYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQyXCI7IH1cblxuLmljb24tbWFyYy1qYWNvYnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDFcIjsgfVxuXG4uaWNvbi1MZXZpczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MFwiOyB9XG5cbi5pY29uLXl2ZXMtc2FpbnQtbGF1cmVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzZFwiOyB9XG5cbi5pY29uLXZvZ3VlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNjXCI7IH1cblxuLmljb24tdmVyc2FjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYlwiOyB9XG5cbi5pY29uLXN3YXJvdnNraTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYVwiOyB9XG5cbi5pY29uLXNtaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM5XCI7IH1cblxuLmljb24tc2Zlcm9mbGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM4XCI7IH1cblxuLmljb24tc2FmaWxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM3XCI7IH1cblxuLmljb24tcm9iZXJ0by1jYXZhbGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM2XCI7IH1cblxuLmljb24tcmVwbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM1XCI7IH1cblxuLmljb24tcGllcnJlLWNhcmRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzNFwiOyB9XG5cbi5pY29uLVV2ZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzNcIjsgfVxuXG4uaWNvbi1veHlkbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzMlwiOyB9XG5cbi5pY29uLW1vbnQtYmxhbmM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzFcIjsgfVxuXG4uaWNvbi1taXUtbWl1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMwXCI7IH1cblxuLmljb24tbWFyYS1tYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmZcIjsgfVxuXG4uaWNvbi1sdXhvdHRpY2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmVcIjsgfVxuXG4uaWNvbi1naW9yZ2lvLWFybWFuaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyZFwiOyB9XG5cbi5pY29uLWVybWVuZWdpbGRvLXplZ25hOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJjXCI7IH1cblxuLmljb24tZW1pbGlvLXB1Y2NpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJiXCI7IH1cblxuLmljb24tZGtueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyYVwiOyB9XG5cbi5pY29uLWJ2bGdhcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjlcIjsgfVxuXG4uaWNvbi1idXJiZXJyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyOFwiOyB9XG5cbi5pY29uLWJhbGVuY2lhZ2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjdcIjsgfVxuXG4uaWNvbi1hcm5ldHRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7IH1cblxuLmljb24tdG9tbXktaGlsZmlnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjJcIjsgfVxuXG4uaWNvbi1qdXN0LWNhdmFsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMVwiOyB9XG5cbi5pY29uLWp1bGJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIwXCI7IH1cblxuLmljb24taHVnby1ib3NzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFmXCI7IH1cblxuLmljb24tZ3Vlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWVcIjsgfVxuXG4uaWNvbi1ndWNjaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZFwiOyB9XG5cbi5pY29uLWVtcG9yaW8tYXJtYW5pOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFjXCI7IH1cblxuLmljb24tZHNxdWFyZWQyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFiXCI7IH1cblxuLmljb24tZGllc2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFhXCI7IH1cblxuLmljb24tc3VwZXJkcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MThcIjsgfVxuXG4uaWNvbi1wZXJzb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTdcIjsgfVxuXG4uaWNvbi1sZS1zcGVjczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZVwiOyB9XG5cbi5pY29uLWNhcnJlcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjsgfVxuXG4uaWNvbi1MYWNvc3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7IH1cblxuLmljb24ta2VyYmhvbHo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjsgfVxuXG4uaWNvbi1jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMlwiOyB9XG5cbi5pY29uLWFscGluYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiOyB9XG5cbi5pY29uLWNvbW1hOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE5XCI7IH1cblxuLmljb24tYWRpZGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7IH1cblxuLmljb24tdHJ5b246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDlcIjsgfVxuXG4uaWNvbi10cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiOyB9XG5cbi5pY29uLWNhcnQxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ2XCI7IH1cblxuLmljb24tcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjsgfVxuXG4uaWNvbi1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7IH1cblxuLmljb24tdXNlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMwXCI7IH1cblxuLmljb24tZW52ZWxvcGUtb3Blbi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI3XCI7IH1cblxuLmljb24tZW52ZWxvcGUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNlwiOyB9XG5cbi5pY29uLXF1ZXN0aW9uLWNpcmNsZS1vOmJlZm9yZSwgLmhlbHBlci1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjljXCI7IH1cblxuLmljb24tcGVyY2VudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NVwiOyB9XG5cbi5pY29uLXNob3BwaW5nLWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MVwiOyB9XG5cbi5pY29uLXNob3BwaW5nLWJhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MFwiOyB9XG5cbi5pY29uLWludGVyc2V4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI0XCI7IH1cblxuLmljb24tdHJhbnNnZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjsgfVxuXG4uaWNvbi1tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7IH1cblxuLmljb24tY2MtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7IH1cblxuLmljb24tY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiOyB9XG5cbi5pY29uLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjsgfVxuXG4uaWNvbi1jYy12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7IH1cblxuLmljb24tbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4M1wiOyB9XG5cbi5pY29uLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MlwiOyB9XG5cbi5pY29uLWFuZHJvaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2JcIjsgfVxuXG4uaWNvbi13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7IH1cblxuLmljb24tYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjsgfVxuXG4uaWNvbi11bmxvY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNlXCI7IH1cblxuLmljb24tZm9sZGVyLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNVwiOyB9XG5cbi5pY29uLWZvbGRlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE0XCI7IH1cblxuLmljb24tbWFpbC1yZXBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMlwiOyB9XG5cbi5pY29uLXJlcGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEyXCI7IH1cblxuLmljb24tc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiOyB9XG5cbi5pY29uLXRhYmxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYVwiOyB9XG5cbi5pY29uLWxhcHRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiOyB9XG5cbi5pY29uLWRlc2t0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjsgfVxuXG4uaWNvbi1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiOyB9XG5cbi5pY29uLWxpZ2h0YnVsYi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7IH1cblxuLmljb24tY2xpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGVhXCI7IH1cblxuLmljb24tcGFzdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWFcIjsgfVxuXG4uaWNvbi1jb21tZW50cy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU2XCI7IH1cblxuLmljb24tcm90YXRlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTJcIjsgfVxuXG4uaWNvbi11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUyXCI7IH1cblxuLmljb24tZW52ZWxvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjsgfVxuXG4uaWNvbi1jYXJldC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOFwiOyB9XG5cbi5pY29uLWNhcmV0LWRvd246YmVmb3JlLCAuc2VsZWN0LWNsb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7IH1cblxuLmljb24tbW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDZcIjsgfVxuXG4uaWNvbi1nb29nbGUtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiOyB9XG5cbi5pY29uLWN1dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNFwiOyB9XG5cbi5pY29uLXNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM0XCI7IH1cblxuLmljb24tYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiOyB9XG5cbi5pY29uLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMFwiOyB9XG5cbi5pY29uLXVubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5Y1wiOyB9XG5cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7IH1cblxuLmljb24tZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YVwiOyB9XG5cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTlcIjsgfVxuXG4uaWNvbi1waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NVwiOyB9XG5cbi5pY29uLWxpbmtlZGluLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiOyB9XG5cbi5pY29uLWhlYXJ0LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGFcIjsgfVxuXG4uaWNvbi1zdGFyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODlcIjsgfVxuXG4uaWNvbi10aHVtYnMtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg4XCI7IH1cblxuLmljb24tdGh1bWJzLW8tdXA6YmVmb3JlLCAuaWNvbi10aHVtYnMtdXAtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg3XCI7IH1cblxuLmljb24tY29nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NVwiOyB9XG5cbi5pY29uLWdlYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7IH1cblxuLmljb24tZm9sZGVyLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2NcIjsgfVxuXG4uaWNvbi1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2JcIjsgfVxuXG4uaWNvbi1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdhXCI7IH1cblxuLmljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc4XCI7IH1cblxuLmljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3N1wiOyB9XG5cbi5pY29uLWNvbW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzVcIjsgfVxuXG4uaWNvbi1yYW5kb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzRcIjsgfVxuXG4uaWNvbi1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiOyB9XG5cbi5pY29uLXdhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjsgfVxuXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYzXCI7IH1cblxuLmljb24tYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjJcIjsgfVxuXG4uaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MVwiOyB9XG5cbi5pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjBcIjsgfVxuXG4uaWNvbi1jaGVjay1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZFwiOyB9XG5cbi5pY29uLXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVjXCI7IH1cblxuLmljb24tcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSwgLmljb24tcXVlc3Rpb24tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiOyB9XG5cbi5pY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTRcIjsgfVxuXG4uaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTNcIjsgfVxuXG4uaWNvbi1wZW5jaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDBcIjsgfVxuXG4uaWNvbi1pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiOyB9XG5cbi5pY29uLXBob3RvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7IH1cblxuLmljb24tcGljdHVyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7IH1cblxuLmljb24tdmlkZW8tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNkXCI7IH1cblxuLmljb24tY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMwXCI7IH1cblxuLmljb24tbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiOyB9XG5cbi5pY29uLXJlZnJlc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjFcIjsgfVxuXG4uaWNvbi1yZXBlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWVcIjsgfVxuXG4uaWNvbi1yb3RhdGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWVcIjsgfVxuXG4uaWNvbi1jbG9jay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7IH1cblxuLmljb24taG9tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNVwiOyB9XG5cbi5pY29uLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiOyB9XG5cbi5pY29uLWdlYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTNcIjsgfVxuXG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiOyB9XG5cbi5pY29uLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiOyB9XG5cbi5pY29uLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7IH1cblxuLmljb24tY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGNcIjsgfVxuXG4uaWNvbi11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7IH1cblxuLmljb24tc3Rhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA2XCI7IH1cblxuLmljb24tc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVwiOyB9XG5cbi5pY29uLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7IH1cblxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAyXCI7IH1cblxuLmljb24tdHJhc2gtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxNFwiOyB9XG5cbi5pY29uLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYlwiOyB9XG5cbi5pY29uLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmNcIjsgfVxuXG4uaWNvbi1lZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7IH1cblxuLmljb24tcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7IH1cblxuLmljb24tY2hlY2stc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDZcIjsgfVxuXG4uaWNvbi1iYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWVcIjsgfVxuXG4uaWNvbi1leWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmVcIjsgfVxuXG4uaWNvbi10cm9waHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTFcIjsgfVxuXG4uaWNvbi1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NlwiOyB9XG5cbi5pY29uLWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFjXCI7IH1cblxuLmljb24td3JlbmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFkXCI7IH1cblxuLmljb24tYmFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOVwiOyB9XG5cbi5pY29uLW5hdmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjsgfVxuXG4uaWNvbi1yZW9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7IH1cblxuLmljb24tZmlsZS10ZXh0LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjZcIjsgfVxuXG4uaWNvbi1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMFwiOyB9XG5cbi5pY29uLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMVwiOyB9XG5cbi5pY29uLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMlwiOyB9XG5cbi5pY29uLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAzXCI7IH1cblxuLmljb24tYW5nbGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDZcIjsgfVxuXG4uaWNvbi1hbmdsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH1cblxuLmljb24taW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOVwiOyB9XG5cbi5pY29uLWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJhXCI7IH1cblxuLmljb24tZXVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7IH1cblxuLmljb24tZXVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1M1wiOyB9XG5cbi5pY29uLWdicDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NFwiOyB9XG5cbi5pY29uLWRvbGxhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiOyB9XG5cbi5pY29uLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiOyB9XG5cbi5pY29uLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmJcIjsgfVxuXG4uaWNvbi1kb3QtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjsgfVxuXG4uaWNvbi1jaXJjbGUtdGhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYlwiOyB9XG5cbi5pY29uLXBpbnRlcmVzdC1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMxXCI7IH1cblxuLmljb24taG91cmdsYXNzLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTJcIjsgfVxuXG4uaWNvbi1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MlwiOyB9XG5cbi5pY29uLWRyaXZlcnMtbGljZW5zZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMzXCI7IH1cblxuLmljb24taWQtY2FyZC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmMzXCI7IH1cblxuLmljb24tY29tcGFyZV9hcnJvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2VcIjsgfVxuXG4uaWNvbi1oaWdobGlnaHRfb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODg4XCI7IH1cblxuLmljb24tM2Rfcm90YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4NGRcIjsgfVxuXG4uaWNvbi1jb250YWN0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTBiYVwiOyB9XG5cbi5pY29uLWZsaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTUzOVwiOyB9XG5cbi5pY29uLWRlbGV0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg3MlwiOyB9XG5cbi5pY29uLWZ1bGxzY3JlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1ZDBcIjsgfVxuXG4uaWNvbi1mdWxsc2NyZWVuX2V4aXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1ZDFcIjsgfVxuXG4uaWNvbi16b29tX291dF9tYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1NmJcIjsgfVxuXG4uaWNvbi1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ3XCI7IH1cblxuLmljb24tdW5kbzI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjdcIjsgfVxuXG4uaWNvbi1yZWRvMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2OFwiOyB9XG5cbi5pY29uLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjlcIjsgfVxuXG4uaWNvbi1yZXBseTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmFcIjsgfVxuXG4uaWNvbi1zcGlubmVyNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3ZFwiOyB9XG5cbi5pY29uLXNwaW5uZXI1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdlXCI7IH1cblxuLmljb24tc3Bpbm5lcjk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODJcIjsgfVxuXG4uaWNvbi1zcGlubmVyMTA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5ODNcIjsgfVxuXG4uaWNvbi1lYXJ0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljYVwiOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBCUkFORCBMT0dPIC0gSUNPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxpc3QtbG9nb3MgYVtjbGFzc149XCJpY29uLVwiXSwgLmxpc3QtbG9nb3MgYVtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBmb250LXNpemU6IDBweDsgfVxuICAubGlzdC1sb2dvcyBhW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSwgLmxpc3QtbG9nb3MgYVtjbGFzcyo9XCIgaWNvbi1cIl06YmVmb3JlIHtcbiAgICBtYXJnaW46IDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cblxuLmljb24tY2s6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA3MDsgfVxuXG4uaWNvbi1jYXJyZXJhOmJlZm9yZSxcbi5pY29uLWd1ZXNzOmJlZm9yZSxcbi5pY29uLWp1c3QtY2F2YWxpOmJlZm9yZSxcbi5pY29uLWtlcmJob2x6OmJlZm9yZSxcbi5pY29uLWxlLXNwZWNzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNTRweDsgfVxuXG4uaWNvbi1hZGlkYXM6YmVmb3JlLFxuLmljb24tZ3VjY2k6YmVmb3JlLFxuLmljb24taHVnby1ib3NzOmJlZm9yZSxcbi5pY29uLUxldmlzOmJlZm9yZSxcbi5pY29uLUxhY29zdGU6YmVmb3JlLFxuLmljb24tcGVyc29sOmJlZm9yZSxcbi5pY29uLXJheS1iYW46YmVmb3JlLFxuLmljb24tVG9kX3M6YmVmb3JlLFxuLmljb24tc3dhcm92c2tpOmJlZm9yZSxcbi5pY29uLW1vbnQtYmxhbmM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NnB4OyB9XG5cbi5pY29uLWNvbW1hOmJlZm9yZSxcbi5pY29uLWRpZXNlbDpiZWZvcmUsXG4uaWNvbi1tYXJzaGFsbDpiZWZvcmUsXG4uaWNvbi1uaWtlOmJlZm9yZSxcbi5pY29uLW9ha2xleTpiZWZvcmUsXG4uaWNvbi1yYWxwaC1sYXVyZW46YmVmb3JlLFxuLmljb24tc3VwZXJkcnk6YmVmb3JlLFxuLmljb24tVGltYmVybGFuZDpiZWZvcmUsXG4uaWNvbi1VdmV4OmJlZm9yZSxcbi5pY29uLWFybmV0dGU6YmVmb3JlLFxuLmljb24tZHNxdWFyZWQyOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMzZweDsgfVxuXG4uaWNvbi1hbHBpbmE6YmVmb3JlLFxuLmljb24tZW1wb3Jpby1hcm1hbmk6YmVmb3JlLFxuLmljb24tanVsYm86YmVmb3JlLFxuLmljb24tbWFyYy1qYWNvYnM6YmVmb3JlLFxuLmljb24tcHJhZGE6YmVmb3JlLFxuLmljb24tdG9tLWZvcmQ6YmVmb3JlLFxuLmljb24tdG9tbXktaGlsZmlnZXI6YmVmb3JlLFxuLmljb24td29vZC1mZWxsYXM6YmVmb3JlLFxuLmljb24tbWl1LW1pdTpiZWZvcmUsXG4uaWNvbi1idXJiZXJyeTpiZWZvcmUsXG4uaWNvbi1iYWxlbmNpYWdhOmJlZm9yZSxcbi5pY29uLWRrbnk6YmVmb3JlLFxuLmljb24tYnZsZ2FyaTpiZWZvcmUsXG4uaWNvbi1naW9yZ2lvLWFybWFuaTpiZWZvcmUsXG4uaWNvbi1lcm1lbmVnaWxkby16ZWduYTpiZWZvcmUsXG4uaWNvbi15dmVzLXNhaW50LWxhdXJlbnQ6YmVmb3JlLFxuLmljb24tdm9ndWU6YmVmb3JlLFxuLmljb24tdmVyc2FjZTpiZWZvcmUsXG4uaWNvbi1zbWl0aDpiZWZvcmUsXG4uaWNvbi1zZmVyb2ZsZXg6YmVmb3JlLFxuLmljb24tc2FmaWxvOmJlZm9yZSxcbi5pY29uLXJvYmVydG8tY2F2YWxsaTpiZWZvcmUsXG4uaWNvbi1yZXBsYXk6YmVmb3JlLFxuLmljb24tcGllcnJlLWNhcmRpbjpiZWZvcmUsXG4uaWNvbi1veHlkbzpiZWZvcmUsXG4uaWNvbi1tYXJhLW1heDpiZWZvcmUsXG4uaWNvbi1sdXhvdHRpY2E6YmVmb3JlLFxuLmljb24tZW1pbGlvLXB1Y2NpOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMjVweDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmJ1dHRvbi1ncm91cDpiZWZvcmUsIC5idXR0b24tZ3JvdXA6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJ1dHRvbi5ibGFja1RyeW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuXG4uYnV0dG9uLmNhdGVnb3J5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MjkzNTtcbiAgbWFyZ2luOiA1cHggMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5idXR0b24ucGV0cm9sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxOUJBRTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJ1dHRvbi5wZXRyb2wuaG9sbG93IHtcbiAgICBjb2xvcjogIzAxOUJBRTtcbiAgICBib3JkZXItY29sb3I6ICMwMTlCQUU7IH1cblxuLmJ1dHRvbi5ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5idXR0b24tbGluZSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuYnV0dG9uLWxpbmUucGV0cm9sIHtcbiAgICBjb2xvcjogIzAxOUJBRTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE5QkFFOyB9XG5cbi5jb2xvci1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDAgNXB4OyB9XG4gIC5jb2xvci1sYWJlbC5oYXMtdGlwIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5jb2xvci1sYWJlbDpob3ZlciwgLmNvbG9yLWxhYmVsLmN1cnJlbnQge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggMnB4IHdoaXRlLCAwIDAgMHB4IDNweCAjMDE5QkFFOyB9XG4gIC5jb2xvci1sYWJlbCAuc2luZ2xlX2NvbG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qIC0tLS0tIGJsYWNrICovXG4vKiAtLS0tLSBibGFjayAtIHB1cnBsZSAqL1xuLyogLS0tLS0gZ3JheSAqL1xuLyogLS0tLS0gd2hpdGUgKi9cbi8qIC0tLS0tIHllbGxvdyAqL1xuLyogLS0tLS0gYnJ1biAtIEphdW5lICovXG4vKiAtLS0tLSBvcmFuZ2UgKi9cbi8qIC0tLS0tIGJydW4gLSBvcmFuZ2UgKi9cbi8qIC0tLS0tIGJyb3duICovXG4vKiAtLS0tLSBicm93biAtIGdyYXkgKi9cbi8qIC0tLS0tIEJydW4gLSByZWQgKi9cbi8qIC0tLS0tIHJlZCAqL1xuLyogLS0tLS0gcGluayAqL1xuLyogLS0tLS0gcHVycGxlICovXG4vKiAtLS0tLSBibHVlICovXG4vKiAtLS0tLSBibHVlIC0gZ3JlZW4gKi9cbi8qIC0tLS0tIGdyZWVuICovXG4vKiAtLS0tLSBvbGl2ZSAqL1xuLnRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZmYSAhaW1wb3J0YW50OyB9XG5cbi5ibHVlLCAuYmx1ZXRyYW5zcGFyZW5jeSwgLmJsdWV0cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc1RUEgIWltcG9ydGFudDsgfVxuXG4ubGlnaHRicm93biwgLmxpZ2h0LWJyb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2OTIwMCAhaW1wb3J0YW50OyB9XG5cbi5kYXJrYnJvd24sIC5kYXJrLWJyb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQyMjIwMCAhaW1wb3J0YW50OyB9XG5cbi5kYXJrYmx1ZSwgLmRhcmstYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDNhNzUgIWltcG9ydGFudDsgfVxuXG4uZGFyay1icm93biwgLmRhcmticm93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjIyMDAgIWltcG9ydGFudDsgfVxuXG4uZ3JlZW4sIC5ncmVlbnRyYW5zcGFyZW5jeSwgLmdyZWVudHJhbnNwYXJlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGZkNDRjICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LWdyZWVuLCAubGlnaHRncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZWYwOWMgIWltcG9ydGFudDsgfVxuXG4uZGFyay1ncmVlbiwgLmRhcmtncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTdiMWIgIWltcG9ydGFudDsgfVxuXG4uZ3JheSwgLnRyYW5zcGFyZW50LWdyYXksIC5ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxNTE1MSAhaW1wb3J0YW50OyB9XG5cbi5saWdodC1ibHVlLCAubGlnaHRibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk1Y2FmZiAhaW1wb3J0YW50OyB9XG5cbi5yZWQsIC5yZWR0cmFuc3BhcmVuY3ksIC5yZWR0cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDAwMDAgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVhdXgsIC5kYXJrLXJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODA0MDQgIWltcG9ydGFudDsgfVxuXG4udHVycXVvaXNlLCAudHVycW91aXNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYmRkOSAhaW1wb3J0YW50OyB9XG5cbi5saWdodC1icm93biwgLmxpZ2h0YnJvd24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTY5MjAwICFpbXBvcnRhbnQ7IH1cblxuLnBpbmssIC5waW5rdHJhbnNwYXJlbmN5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlNDFiZiAhaW1wb3J0YW50OyB9XG5cbi5kYXJrb2xpdmUsIC5kYXJrLW9saXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRiNGYxOCAhaW1wb3J0YW50OyB9XG5cbi5wdXJwbGUsIC5wbHVtLCAubGlsYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ODIyOEIgIWltcG9ydGFudDsgfVxuXG4uYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUyOTM1ICFpbXBvcnRhbnQ7IH1cblxuLmdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTE1MTUxICFpbXBvcnRhbnQ7IH1cblxuLmRhcmstcHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRkMDY3MSAhaW1wb3J0YW50OyB9XG5cbi5zaWx2ZXJibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVlOTFjMyAhaW1wb3J0YW50OyB9XG5cbi5icm93biwgLnBlcmlnb3JkLCAuYWZyb21vc2lhYnJvd24sIC50b2ZmZWUsIC5idXJndW5keSwgLm1vdHRsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmUzOTAwICFpbXBvcnRhbnQ7IH1cblxuLmJyb256ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNjYyMjUgIWltcG9ydGFudDsgfVxuXG4uY3JlYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRkZTc4ICFpbXBvcnRhbnQ7IH1cblxuLmdyYXlicm93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NjRlMzQgIWltcG9ydGFudDsgfVxuXG4ubW9zcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzkwMjUgIWltcG9ydGFudDsgfVxuXG4uZ3JlZW5ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBmYWI5MCAhaW1wb3J0YW50OyB9XG5cbi5yZWRicm93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZTE4MDAgIWltcG9ydGFudDsgfVxuXG4ud2luZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ZjA0MjIgIWltcG9ydGFudDsgfVxuXG4uYzU0OWU3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I2MDBlOCAhaW1wb3J0YW50OyB9XG5cbi5vbGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZTg1MmMgIWltcG9ydGFudDsgfVxuXG4udmFuaWxsYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmVlYWIgIWltcG9ydGFudDsgfVxuXG4ub3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiOGUwZSAhaW1wb3J0YW50OyB9XG5cbi5vcmFuZ2Vicm93biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YjYwMGQgIWltcG9ydGFudDsgfVxuXG4ud2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7IH1cblxuLmRhcmtibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwM2E3NSAhaW1wb3J0YW50OyB9XG5cbi55ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZjYTAwICFpbXBvcnRhbnQ7IH1cblxuLmNhcHB1Y2Npbm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUY4RTQ1ICFpbXBvcnRhbnQ7IH1cblxuLnZpb2xldCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3RjAwRkYgIWltcG9ydGFudDsgfVxuXG4ucGxhdGludW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRURFREVGICFpbXBvcnRhbnQ7IH1cblxuLmdyYXBoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ1NDM0MyAhaW1wb3J0YW50OyB9XG5cbi5wZWFybCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOUUwREIgIWltcG9ydGFudDsgfVxuXG4uY2hvY29sYXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdCM0YwMCAhaW1wb3J0YW50OyB9XG5cbi5tb2NoYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OTNEMjYgIWltcG9ydGFudDsgfVxuXG4uZ3Jhbml0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NDkyN0IgIWltcG9ydGFudDsgfVxuXG4ub2NlYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUM2QkEwICFpbXBvcnRhbnQ7IH1cblxuLmNvY28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBENjI3ICFpbXBvcnRhbnQ7IH1cblxuLmljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBNUYyRjMgIWltcG9ydGFudDsgfVxuXG4uZmxhbWluZ28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTE2MzRGICFpbXBvcnRhbnQ7IH1cblxuLmhhemVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU5NGMyNiAhaW1wb3J0YW50OyB9XG5cbi5iZWlnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY1REMgIWltcG9ydGFudDsgfVxuXG4uYW1iZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3RTAwICFpbXBvcnRhbnQ7IH1cblxuLmhhdmFuYSwgLkhBVkFOQSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjJiMmMgIWltcG9ydGFudDsgfVxuXG4ubWV0YWxsaWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkNDNkNDICFpbXBvcnRhbnQ7IH1cblxuLnRpdGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YxRjBGRiAhaW1wb3J0YW50OyB9XG5cbi5pdnJveSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRjAgIWltcG9ydGFudDsgfVxuXG4uYmxhY2tjdXJyYW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNEMzI0MiAhaW1wb3J0YW50OyB9XG5cbi5iYW1ib28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREM1QzA1ICFpbXBvcnRhbnQ7IH1cblxuLnBhcHlydXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVERkE2ICFpbXBvcnRhbnQ7IH1cblxuLnJ1Ynkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTAxMTVGICFpbXBvcnRhbnQ7IH1cblxuLmpld2VsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhODA3OSAhaW1wb3J0YW50OyB9XG5cbi5saWNvcmljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTExMTAgIWltcG9ydGFudDsgfVxuXG4uZWJvbnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEYwQjE5ICFpbXBvcnRhbnQ7IH1cblxuLmdyYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiOGUwZSAhaW1wb3J0YW50OyB9XG5cbi5vYWsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQwRTI3ICFpbXBvcnRhbnQ7IH1cblxuLm1vc3NncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBRERGQUQgIWltcG9ydGFudDsgfVxuXG4ubWludCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OEZGOTggIWltcG9ydGFudDsgfVxuXG4uY2hlcnJ5d29vZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjBDMDcgIWltcG9ydGFudDsgfVxuXG4ucGVyaWdvcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmUzOTAwICFpbXBvcnRhbnQ7IH1cblxuLmNhcmFtZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0M5OTY2ICFpbXBvcnRhbnQ7IH1cblxuLm5vdWdhdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGZhZTkgIWltcG9ydGFudDsgfVxuXG4ubGlseXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWVlYiAhaW1wb3J0YW50OyB9XG5cbi5zdW5zZXRyZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQxMTU5ICFpbXBvcnRhbnQ7IH1cblxuLmRhd25ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTI5MzUgIWltcG9ydGFudDsgfVxuXG4ubWlkbmlnaHRibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzM2NiAhaW1wb3J0YW50OyB9XG5cbi5ibGFja3dvb2Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUyOTM1ICFpbXBvcnRhbnQ7IH1cblxuLmFmcm9tb3NpYWJyb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlMzkwMCAhaW1wb3J0YW50OyB9XG5cbi5jYXZpYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyMTIyICFpbXBvcnRhbnQ7IH1cblxuLmFudGlxdWVwaW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QzNmU3MCAhaW1wb3J0YW50OyB9XG5cbi5kYXJrLWNvcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MTI5MUQgIWltcG9ydGFudDsgfVxuXG4uZGFyay1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUxNTE1MSAhaW1wb3J0YW50OyB9XG5cbi5jb2FsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMkMyQyAhaW1wb3J0YW50OyB9XG5cbi5pdm9yeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRjAgIWltcG9ydGFudDsgfVxuXG4ubmF2eSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzIyNEMgIWltcG9ydGFudDsgfVxuXG4ubWF0dGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjICFpbXBvcnRhbnQ7IH1cblxuLmdvbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZjYTAwICFpbXBvcnRhbnQ7IH1cblxuLnNpbHZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MTUxNTEgIWltcG9ydGFudDsgfVxuXG4uZ3JhZGllbnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNjBkZWcsICNmZmZmZmYsICMxNTI5MzUpICFpbXBvcnRhbnQ7IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAwLiBWQVJJQUJMRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogZWdhbCAxNnB4ICovXG4vKiBlZ2FsIDMwcHggKi9cbi8qIDEuNjAgZWdhbCAxOXB4ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxLiBCQVNFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxudGFibGUgdGhlYWQsIHRhYmxlIHRib2R5LCB0YWJsZSB0Zm9vdCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxudGFibGUgdGhlYWQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VBRUFFQTsgfVxuXG50YWJsZS5zdGF0aXN0aWNzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIHRhYmxlLnN0YXRpc3RpY3MgdGhlYWQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUFFQUVBOyB9XG4gICAgdGFibGUuc3RhdGlzdGljcyB0aGVhZCB0aCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgdGFibGUuc3RhdGlzdGljcyAuc3RhdCB7XG4gICAgY29sb3I6ICMwMTlCQUU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50OyB9XG4gIC5tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4ubm8tbWFyZ2luIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLm5vLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLmNsZWFyZml4IHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmNlbnRlci1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jZW50ZXItaWNvbiA+ICoge1xuICAgIGZvbnQtc2l6ZTogOTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgbGVmdDogNTAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gQ2FsbG91dHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYWxsb3V0IFtjbGFzc149XCJpY29uLVwiXSwgLmNhbGxvdXQgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbWFyZ2luOiAwIDE1cHg7IH1cblxuLmNhbGxvdXQucHJpbWFyeSB7XG4gIGJvcmRlci1jb2xvcjogIzNENzBCMjsgfVxuICAuY2FsbG91dC5wcmltYXJ5IFtjbGFzc149XCJpY29uLVwiXSwgLmNhbGxvdXQucHJpbWFyeSBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICBjb2xvcjogIzNENzBCMjsgfVxuXG4uY2FsbG91dC5hbGVydCB7XG4gIGJvcmRlci1jb2xvcjogI0RDNUU1RTsgfVxuICAuY2FsbG91dC5hbGVydCBbY2xhc3NePVwiaWNvbi1cIl0sIC5jYWxsb3V0LmFsZXJ0IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgIGNvbG9yOiAjREM1RTVFOyB9XG5cbi5jYWxsb3V0Lndhcm5pbmcge1xuICBib3JkZXItY29sb3I6ICNmZmFlMDA7IH1cbiAgLmNhbGxvdXQud2FybmluZyBbY2xhc3NePVwiaWNvbi1cIl0sIC5jYWxsb3V0Lndhcm5pbmcgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cblxuLmNhbGxvdXQuc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogIzcyRDIzNzsgfVxuICAuY2FsbG91dC5zdWNjZXNzIFtjbGFzc149XCJpY29uLVwiXSwgLmNhbGxvdXQuc3VjY2VzcyBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICBjb2xvcjogIzcyRDIzNzsgfVxuXG4uY2FsbG91dCAubWVkaWEtb2JqZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FsbG91dCBoMiwgLmNhbGxvdXQgI2NhcnQtY29udGFpbmVyIGgyLCAjY2FydC1jb250YWluZXIgLmNhbGxvdXQgaDIsIC5jYWxsb3V0IGgzLCAuY2FsbG91dCBoNCwgLmNhbGxvdXQgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUsIC5jYXJkc19ibG9jayAuZ3JpZC14IC5jZWxsIC5jYXJkIC5jYXJkLXNlY3Rpb24gLmNhbGxvdXQgLnRpdGxlLCAuY2FsbG91dCAuY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSwgLmNoZWNrb3V0X3N1bW1hcnkgLmNhbGxvdXQgLmFjY29yZGlvbiA+IC5hY2NvcmRpb24tdGl0bGUsIC5jYWxsb3V0IGg1LCAuY2FsbG91dCBoNiB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgLiBCdXR0b25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYnV0dG9uLnN1Y2Nlc3Mge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyLiBaLUluZGV4ZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiN0aXRsZS1iYXItY29udGFpbmVyIHtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4jbGFuZ3VhZ2Utc2VsZWN0b3IgLmRyb3Bkb3duLXBhbmUge1xuICB6LWluZGV4OiA4NjA7IH1cblxuLm5hdmlnYXRpb24tZGVza3RvcC1jb250YWluZXIge1xuICB6LWluZGV4OiA4NTAgIWltcG9ydGFudDsgfVxuICAubmF2aWdhdGlvbi1kZXNrdG9wLWNvbnRhaW5lciAubWVnYS1kcm9wZG93bnMtY29udGFpbmVyIC5kcm9wZG93bi1wYW5lIHtcbiAgICB6LWluZGV4OiA4NjA7IH1cblxuI3NlYXJjaC1pbnB1dC1yZXN1bHRzIHtcbiAgei1pbmRleDogMTEwMDsgfVxuXG4jcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgei1pbmRleDogODAwOyB9XG4gICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZC10by1jYXJ0LWNvbnRhaW5lciB7XG4gICAgei1pbmRleDogODUwOyB9XG5cbiNmaWx0ZXItbmF2LWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDEwOyB9XG4gICNmaWx0ZXItbmF2LWNvbnRhaW5lciAuc2hvdy1yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgei1pbmRleDogODUwOyB9XG5cbi5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB6LWluZGV4OiA5MDAgIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAuIEJveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJveCwgLnRhYnMuZnJlZSAudGFicy10aXRsZSBhIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0VBRUFFQTtcbiAgYm94LXNoYWRvdzogMCAwIDE2cHggcmdiYSgwLCAwLCAwLCAwLjAxKTtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAuIE1FTlVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tZW51LmRyaWxsZG93biB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgLiBTdGlja3kgdGhpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubWFrZS1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDQwcHg7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDUuIEZsYWdzIGFuZCBsYW5ndWFnZXMgbGlua3MgKHRvcCBiYXIgYW5kIGZvb3RlcilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmEubGFuZ3VhZ2Uge1xuICBjb2xvcjogIzE1MjkzNTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjIyNXJlbSAwLjRyZW0gMC4zcmVtOyB9XG5cbi5mbGFnIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ZsYWdzL2ZsYWdzLXNwcml0ZS5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgOHB4IDNweCAwOyB9XG4gIC5mbGFnLmVuIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMTJweDsgfVxuICAuZmxhZy5mciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDsgfVxuICAuZmxhZy5mci1iZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDg0cHg7IH1cbiAgLmZsYWcubmwge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCA3MnB4OyB9XG4gIC5mbGFnLm5sLWJlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMTY4cHg7IH1cbiAgLmZsYWcuZXMge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCA2MHB4OyB9XG4gIC5mbGFnLnB0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggNDhweDsgfVxuICAuZmxhZy5kZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDM2cHg7IH1cbiAgLmZsYWcuZXUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAyNHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gTGlzdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnVsIGxpLnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzVBNjg3MjtcbiAgbWFyZ2luLWJvdHRvbTogMC40Mzc1cmVtOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDUuMS4gRmxhZ3MgWDIgZm9yIGN1c3RvbWVyIGNvbnRhY3Qgc2VydmljZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZsYWctWDIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsYWctWDIuZW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9mbGFncy9mbGFnLXVrLnN2Z1wiKTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgLmZsYWctWDIuZnIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9mbGFncy9mbGFnLWZyYW5jZS5zdmdcIik7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5mbGFnLVgyLmZyLWJlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZmxhZ3MvZmxhZy1iZWxnaXVtLnN2Z1wiKTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgLmZsYWctWDIubmwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9mbGFncy9mbGFnLW5ldGhlcmxhbmRzLnN2Z1wiKTtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgLmZsYWctWDIubmwtYmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9mbGFncy9mbGFnLWJlbGdpdW0uc3ZnXCIpO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNDBweDsgfVxuICAuZmxhZy1YMi5lcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ZsYWdzL2ZsYWctc3BhaW4uc3ZnXCIpO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNDBweDsgfVxuICAuZmxhZy1YMi5wdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ZsYWdzL2ZsYWctcG9ydHVnYWwuc3ZnXCIpO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNDBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA2LiBSYXRpbmdzIHN0YXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucmF0aW5nLXN0YXJzIHtcbiAgY29sb3I6ICMzRDcwQjI7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA3LiBIb2xsb3cgbGFiZWxzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubGFiZWwuaG9sbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItY29sb3I6ICMzRDcwQjI7XG4gIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5sYWJlbC5ob2xsb3cucHJpbWFyeSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM0Q3MEIyO1xuICAgIGNvbG9yOiAjMzA1ODhjOyB9XG4gIC5sYWJlbC5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItY29sb3I6ICM2Rjc5ODc7XG4gICAgY29sb3I6ICM1ODYwNmI7IH1cbiAgLmxhYmVsLmhvbGxvdy50ZXJ0aWFyeSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjREM1RTVFO1xuICAgIGNvbG9yOiAjZDMzNDM0OyB9XG4gIC5sYWJlbC5ob2xsb3cuc3VjY2VzcyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzJEMjM3O1xuICAgIGNvbG9yOiAjNWJhZjI3OyB9XG4gIC5sYWJlbC5ob2xsb3cud2FybmluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjY2M4YjAwOyB9XG4gIC5sYWJlbC5ob2xsb3cuYWxlcnQge1xuICAgIGJvcmRlci1jb2xvcjogI0RDNUU1RTtcbiAgICBjb2xvcjogI2QzMzQzNDsgfVxuICAubGFiZWwuaG9sbG93LnBldHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE5QkFFO1xuICAgIGNvbG9yOiAjMDE2ZTdiOyB9XG5cbi5sYWJlbC5sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA4LiBBbW91bnRzIHBpbGwgKG1pbnVzIGFuZCBwbHVzIGFtb3VudCBtb2RpZmllcilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hbW91bnQtcGlsbCA+ICoge1xuICBmb250LXdlaWdodDogNzAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB3aWR0aDogMjZweDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzUxNTE1MTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cbiAgLmFtb3VudC1waWxsID4gKjpmaXJzdC1jaGlsZCwgLmFtb3VudC1waWxsID4gKjpsYXN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUE2ODcyO1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5hbW91bnQtcGlsbCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4OyB9XG4gIC5hbW91bnQtcGlsbCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7IH1cbiAgLmFtb3VudC1waWxsID4gKi5pbmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDkuIEZha2UgdGFibGVzXG4gICBVc2VkIGZvciBtaW1pa2luZyB0aGUgYmVoYXZpb3VyIG9mIGEgdGFibGUgaW5zaWRlIGFuIGFjY29yZGlvbi1jb250ZW50IGxpXG4gICBZZWFoLCB0YWJsZXMgaW5zaWRlIGFjY29yZGlvbnMgZG9lcyBqdXN0IG5vdCB3b3JrIGF0IGFsbCFcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mYWtlLXRhYmxlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y3ZjdmNzsgfVxuICAuZmFrZS10YWJsZSAuY2VsbCA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmFrZS10YWJsZSAuY2VsbCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgYmFja2dyb3VuZDogI2ZiZmJmYjtcbiAgICAgIGNvbG9yOiAjMTUyOTM1O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmZha2UtdGFibGUgLmNlbGwgPiAqOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNjsgfVxuICAuZmFrZS10YWJsZSAuY2VsbDpmaXJzdC1jaGlsZCA+ICoge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmZha2UtdGFibGUgLmNlbGw6Zmlyc3QtY2hpbGQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAgIC5mYWtlLXRhYmxlIC5jZWxsOmZpcnN0LWNoaWxkID4gKjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIi5cIjtcbiAgICAgICAgY29sb3I6ICNmYmZiZmI7IH1cblxuLmZha2UtdGFibGUtbGVmdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmN2Y3Zjc7IH1cbiAgLmZha2UtdGFibGUtbGVmdCAuY2VsbCA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmZha2UtdGFibGUtbGVmdCAuY2VsbCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgYmFja2dyb3VuZDogI2ZiZmJmYjtcbiAgICAgIGNvbG9yOiAjMTUyOTM1O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmZha2UtdGFibGUtbGVmdCAuY2VsbCA+ICo6Zmlyc3QtY2hpbGQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2OyB9XG4gIC5mYWtlLXRhYmxlLWxlZnQgLmNlbGw6Zmlyc3QtY2hpbGQgPiAqIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5mYWtlLXRhYmxlLWxlZnQgLmNlbGw6Zmlyc3QtY2hpbGQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAgIC5mYWtlLXRhYmxlLWxlZnQgLmNlbGw6Zmlyc3QtY2hpbGQgPiAqOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgICAgICBjb2xvcjogI2ZiZmJmYjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxMS4gU3RlcCBQcm9ncmVzc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2dyZXNzLXRyYWNrZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDIwcHggMCAzMHB4IDA7XG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZ3Jlc3MtdHJhY2tlciB7XG4gICAgICBtYXJnaW46IDMwcHggMCAzMHB4IDA7IH0gfVxuICAucHJvZ3Jlc3MtdHJhY2tlciAuc3RlcC1iYWxsIHtcbiAgICBmbGV4OiAxOyB9XG4gICAgLnByb2dyZXNzLXRyYWNrZXIgLnN0ZXAtYmFsbDpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjQzhDOEM4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogY291bnRlcihpdGVtKSBcIiAgXCI7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnByb2dyZXNzLXRyYWNrZXIgLnN0ZXAtYmFsbDpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7IH0gfVxuICAgIC5wcm9ncmVzcy10cmFja2VyIC5zdGVwLWJhbGwuYWN0aXZlOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDE5QkFFOyB9XG4gICAgLnByb2dyZXNzLXRyYWNrZXIgLnN0ZXAtYmFsbCAuc3RlcC1iYXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtYXJnaW46IDAuNzVyZW0gMCAwIDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjQzhDOEM4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6ICNDOEM4Qzg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucHJvZ3Jlc3MtdHJhY2tlciAuc3RlcC1iYWxsIC5zdGVwLWJhciB7XG4gICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwOyB9IH1cbiAgICAgIC5wcm9ncmVzcy10cmFja2VyIC5zdGVwLWJhbGwgLnN0ZXAtYmFyLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMTlCQUU7XG4gICAgICAgIGNvbG9yOiAjMDE5QkFFOyB9XG4gICAgICAucHJvZ3Jlc3MtdHJhY2tlciAuc3RlcC1iYWxsIC5zdGVwLWJhciAuc3RlcC10ZXh0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjc1cmVtLCAtNjUlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC43NXJlbSwgLTY1JSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5wcm9ncmVzcy10cmFja2VyIC5zdGVwLWJhbGwgLnN0ZXAtYmFyIC5zdGVwLXRleHQge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcmVtLCAtODAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFyZW0sIC04MCUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLnByb2dyZXNzLXRyYWNrZXIgLnN0ZXAtZmluYWwge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDsgfVxuICAgIC5wcm9ncmVzcy10cmFja2VyIC5zdGVwLWZpbmFsOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGJhY2tncm91bmQ6ICNDOEM4Qzg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgY29udGVudDogY291bnRlcihpdGVtKSBcIiAgXCI7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucHJvZ3Jlc3MtdHJhY2tlciAuc3RlcC1maW5hbDpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7IH0gfVxuICAgIC5wcm9ncmVzcy10cmFja2VyIC5zdGVwLWZpbmFsLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogIzAxOUJBRTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAuIFRhYnMgYW5kIFwiRlJFRVwiIChubyBib3JkZXIgY2VudGVyZWQgdmVyc2lvbnMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGFicyB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLnRhYnMuZnJlZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC50YWJzLmZyZWUgLnRhYnMtdGl0bGUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC50YWJzLmZyZWUgLnRhYnMtdGl0bGUge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGFicy5mcmVlIC50YWJzLXRpdGxlIHtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGFicy5mcmVlIC50YWJzLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAudGFicy5mcmVlIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzNENzBCMjsgfVxuICAgIC50YWJzLmZyZWUgLnRhYnMtdGl0bGUucmVjb21tZW5kZWQgYTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgY29udGVudDogXCJyZWNvbW1lbmRlZCFcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3MkQyMzc7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICB0b3A6IC0xMnB4OyB9XG4gICAgLnRhYnMuZnJlZSAudGFicy10aXRsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBcImJhY2tncm91bmQtY29sb3JcIjtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogXCJiYWNrZ3JvdW5kLWNvbG9yXCI7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcztcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLnRhYnMuZnJlZSAudGFicy10aXRsZSBhIC50YWJCdWxsZXRzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAgIC50YWJzLmZyZWUgLnRhYnMtdGl0bGUgYSAudGFiQnVsbGV0cyBzcGFuLmljb24tZG90LWNpcmNsZS1vIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC50YWJzLmZyZWUgLnRhYnMtdGl0bGUgYSAudGFiQnVsbGV0cyBzcGFuLmljb24tZG90LWNpcmNsZS1vOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAudGFicy5mcmVlIC50YWJzLXRpdGxlIGEgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWNpcmNsZS10aGluOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnRhYnMuZnJlZSAudGFicy10aXRsZSBhIC5ncmlkLXgge1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgICAgICAudGFicy5mcmVlIC50YWJzLXRpdGxlIGEgLmdyaWQteCAuY2VsbCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC50YWJzLmZyZWUgLnRhYnMtdGl0bGUgYSAuZ3JpZC14IC5jZWxsIHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAgICAgLnRhYnMuZnJlZSAudGFicy10aXRsZSBhIC5ncmlkLXggLmNlbGwucmlnaHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRkJGQjsgfVxuICAgICAgICAgIC50YWJzLmZyZWUgLnRhYnMtdGl0bGUgYSAuZ3JpZC14IC5jZWxsLmJvdHRvbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGQkZCOyB9XG4gICAgICAgICAgICAudGFicy5mcmVlIC50YWJzLXRpdGxlIGEgLmdyaWQteCAuY2VsbC5ib3R0b20gc3BhbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuMjVyZW07IH1cbiAgICAgICAgICAudGFicy5mcmVlIC50YWJzLXRpdGxlIGEgLmdyaWQteCAuY2VsbCAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMCAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gQWx0ZXJuYXRlIGNvbG9yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYWx0ZXJuYXRlID4gaDIsICNjYXJ0LWNvbnRhaW5lciAuYWx0ZXJuYXRlID4gaDIsIC5hbHRlcm5hdGUgc2VjdGlvbiA+IGgyLCAuYWx0ZXJuYXRlICNjYXJ0LWNvbnRhaW5lciBzZWN0aW9uID4gaDIsICNjYXJ0LWNvbnRhaW5lciAuYWx0ZXJuYXRlIHNlY3Rpb24gPiBoMixcbi5hbHRlcm5hdGUgPiBoMywgLmFsdGVybmF0ZSBzZWN0aW9uID4gaDMsXG4uYWx0ZXJuYXRlID4gaDQsXG4uY2FyZHNfYmxvY2sgLmdyaWQteCAuY2VsbCAuY2FyZCAuY2FyZC1zZWN0aW9uIC5hbHRlcm5hdGUgPiAudGl0bGUsXG4uY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uLmFsdGVybmF0ZSA+IC5hY2NvcmRpb24tdGl0bGUsIC5hbHRlcm5hdGUgc2VjdGlvbiA+IGg0LCAuYWx0ZXJuYXRlIC5jYXJkc19ibG9jayAuZ3JpZC14IC5jZWxsIC5jYXJkIC5jYXJkLXNlY3Rpb24gc2VjdGlvbiA+IC50aXRsZSwgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAuYWx0ZXJuYXRlIHNlY3Rpb24gPiAudGl0bGUsIC5hbHRlcm5hdGUgLmNoZWNrb3V0X3N1bW1hcnkgc2VjdGlvbi5hY2NvcmRpb24gPiAuYWNjb3JkaW9uLXRpdGxlLCAuY2hlY2tvdXRfc3VtbWFyeSAuYWx0ZXJuYXRlIHNlY3Rpb24uYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSxcbi5hbHRlcm5hdGUgPiBoNSwgLmFsdGVybmF0ZSBzZWN0aW9uID4gaDUge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5hbHRlcm5hdGUucGFkZGluZyB7XG4gIHBhZGRpbmc6IDJyZW0gMDsgfVxuXG4uYWx0ZXJuYXRlOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQ6ICNGQkZCRkI7IH1cbiAgLmFsdGVybmF0ZTpudGgtY2hpbGQoZXZlbikuZGl2aWRlcjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQgbm9uZTtcbiAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgIGJvcmRlci1jb2xvcjogI0VBRUFFQTsgfVxuXG4uYWx0ZXJuYXRlOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAuYWx0ZXJuYXRlOm50aC1jaGlsZChvZGQpLmRpdmlkZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAuIEhlbHBlciBpY29uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhlbHBlci1pY29uIHtcbiAgY29sb3I6ICM2Rjc5ODc7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwcHggNXB4O1xuICBwYWRkaW5nOiAwcHggMCAxcHg7IH1cbiAgLmhlbHBlci1pY29uOmhvdmVyIHtcbiAgICBjb2xvcjogIzNENzBCMjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAuIFN0ZXAgUHJvZ3Jlc3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gU2VsZWN0IGNsb25lIDogUmVwcm9kdWNlIHRoZSBsb29rICduIGZlZWwgb2YgYVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Qgb24gYSBzcGFuIGVsZW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWxlY3QtY2xvbmUge1xuICBiYWNrZ3JvdW5kOiAjRkJGQkZCO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAjMTUyOTM1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICBwYWRkaW5nOiAwLjVyZW0gMzRweCAwLjVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VsZWN0LWNsb25lOmJlZm9yZSB7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4ubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDEwcHggMDsgfVxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdlbWFpbCddIH4gbGFiZWwsXG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10gfiBsYWJlbCxcbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0ndGV4dCddIH4gbGFiZWwsXG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJ0ZWxcIl0gfiBsYWJlbCxcbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0nc2VsZWN0J10gfiBsYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjVweDtcbiAgICBsZWZ0OiA4cHg7XG4gICAgY29sb3I6ICM1QTY4NzI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDsgfVxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSd0ZXh0J106dmFsaWQ6cmVxdWlyZWQgfiBsYWJlbCB7XG4gICAgY29sb3I6ICM1YmFmMjc7IH1cbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0nZW1haWwnXTpmb2N1cyB+IGxhYmVsLFxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdlbWFpbCddOnZhbGlkIH4gbGFiZWwsXG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMgfiBsYWJlbCxcbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTp2YWxpZCB+IGxhYmVsLFxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMgfiBsYWJlbCxcbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0ndGV4dCddOnZhbGlkIH4gbGFiZWwsXG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMgfiBsYWJlbCxcbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cInRlbFwiXTp2YWxpZCB+IGxhYmVsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCwgMC44KTsgfVxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJ0ZWxcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNUE2ODcyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdlbWFpbCddOmZvY3VzLFxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLFxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSd0ZXh0J106Zm9jdXMsXG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNUE2ODcyOyB9XG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9J2VtYWlsJ106aW52YWxpZCB+IGxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4OyB9XG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIHNlbGVjdCB+IGxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgsIDAuOCk7IH1cbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzVBNjg3MjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxcHg7IH1cbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IGxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMjZweDsgfVxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdjaGVja2JveCddOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcXGYwOTZcIjtcbiAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgIGNvbG9yOiAjMDE2ZTdiO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogM3B4IDAgMCA0cHg7XG4gICAgZm9udC1zaXplOiAyMnB4OyB9XG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA0NlwiOyB9XG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsgfVxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBpbnB1dDpmb2N1cyB+IGxhYmVsLFxuICAubWF0ZXJpYWxfZm9ybSAuZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMgfiBsYWJlbCB7XG4gICAgY29sb3I6ICMwMTlCQUU7IH1cbiAgLm1hdGVyaWFsX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMsXG4gIC5tYXRlcmlhbF9mb3JtIC5mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAxOUJBRSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxuXG4uaW5saW5lX2Zvcm0gLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuaW5saW5lX2Zvcm0gLmZvcm0tZ3JvdXAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmlubGluZV9mb3JtIC5mb3JtLWdyb3VwIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCBsYWJlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCBsYWJlbDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiA6IFwiOyB9XG4gIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAuaW5saW5lX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbiAgLmlubGluZV9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgLmlubGluZV9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdzZWxlY3QnXSxcbiAgLmlubGluZV9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9J2NoZWNrYm94J10sXG4gIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNjUlO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAgICAgLmlubGluZV9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgICAuaW5saW5lX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgICAgLmlubGluZV9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgICAuaW5saW5lX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0nc2VsZWN0J10sXG4gICAgICAuaW5saW5lX2Zvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSxcbiAgICAgIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogNzUlOyB9IH1cbiAgLmlubGluZV9mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSdjaGVja2JveCddOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogaW5pdGlhbDsgfVxuICAuaW5saW5lX2Zvcm0gLmZvcm0tZ3JvdXAgLmRhdGUtQmlydGgge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNjUlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmlubGluZV9mb3JtIC5mb3JtLWdyb3VwIC5kYXRlLUJpcnRoIHtcbiAgICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gICAgLmlubGluZV9mb3JtIC5mb3JtLWdyb3VwIC5kYXRlLUJpcnRoIC5kYXRlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuaW5saW5lX2Zvcm0gLmZvcm0tZ3JvdXAgLmRhdGUtQmlydGggLmRhdGUgZGl2IHtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCAuZGF0ZS1CaXJ0aCAuZGF0ZSBkaXYgc2VsZWN0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5pbmxpbmVfZm9ybSAuZm9ybS1ncm91cCAuZGF0ZS1CaXJ0aCAuZGF0ZSBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uaW5saW5lX2Zvcm0gYnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pbmxpbmVfZm9ybSBidXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pbmxpbmVfZm9ybSBidXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1NXB4OyB9IH1cblxuLmhlYWRlci1kZXNrdG9wIC5oZWFkZXItY2VudGVyIC5sb2dvLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmhlYWRlci1kZXNrdG9wIC5oZWFkZXItY2VudGVyIC5sb2dvLWxpbmsgaW1nIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luOiAxNXB4IDIwcHg7IH1cblxuLmhlYWRlci1kZXNrdG9wIC5oZWFkZXItcmlnaHQge1xuICBmb250LXNpemU6IDkwJTsgfVxuICAuaGVhZGVyLWRlc2t0b3AgLmhlYWRlci1yaWdodCAuZ3JpZC15IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuaGVhZGVyLWRlc2t0b3AgLmhlYWRlci1yaWdodCAuZ3JpZC15IC5jZWxsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaGVhZGVyLWRlc2t0b3AgLmhlYWRlci1yaWdodCAuZ3JpZC15IC5jZWxsID4gZGl2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlYWRlci1kZXNrdG9wIC5oZWFkZXItcmlnaHQgYSB7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmhlYWRlci1kZXNrdG9wIC5oZWFkZXItcmlnaHQgW2NsYXNzXj1cImljb24tXCJdIHtcbiAgICBjb2xvcjogIzZGNzk4NztcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBmb250LXNpemU6IDMycHg7IH1cbiAgLmhlYWRlci1kZXNrdG9wIC5oZWFkZXItcmlnaHQgLmJhZGdlLmNhcnQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgcmlnaHQ6IC0xNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MkQyMzc7IH1cbiAgICAuaGVhZGVyLWRlc2t0b3AgLmhlYWRlci1yaWdodCAuYmFkZ2UuY2FydFtkYXRhLWNhcnRDb3VudD1cIjBcIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyLWRlc2t0b3AgLmhlYWRlci1yaWdodCAuYmFkZ2Uud2lzaGxpc3Qge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgcmlnaHQ6IC0xNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQzVFNUU7IH1cbiAgICAuaGVhZGVyLWRlc2t0b3AgLmhlYWRlci1yaWdodCAuYmFkZ2Uud2lzaGxpc3RbZGF0YS13aXNobGlzdENvdW50PVwiMFwiXSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWFyY2gtaW5wdXQge1xuICBoZWlnaHQ6IDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VhcmNoLWlucHV0IGlucHV0IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnNlYXJjaC1pbnB1dCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgY3ViaWMtYmV6aWVyKDAsIDAuNzk1LCAwLCAxKTtcbiAgICB3aWR0aDogMHB4OyB9XG4gICAgLnNlYXJjaC1pbnB1dCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyB7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0M4QzhDODtcbiAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBjdXJzb3I6IHRleHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuc2VhcmNoLWlucHV0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOEM4Qzg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuc2VhcmNoLWlucHV0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gIC5zZWFyY2gtaW5wdXQgYnV0dG9uLmJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHMgZWFzZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgICAuc2VhcmNoLWlucHV0IGJ1dHRvbi5idXR0b246aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC44OyB9XG4gICAgLnNlYXJjaC1pbnB1dCBidXR0b24uYnV0dG9uIHNwYW4ge1xuICAgICAgdG9wOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbiNzZWFyY2gtaW5wdXQtcmVzdWx0cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbi10b3A6IDExcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjc2VhcmNoLWlucHV0LXJlc3VsdHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMGVtO1xuICAgICAgd2lkdGg6IDIwZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgI3NlYXJjaC1pbnB1dC1yZXN1bHRzIHtcbiAgICAgIGJvcmRlcjogbm9uZTsgfSB9XG4gICNzZWFyY2gtaW5wdXQtcmVzdWx0cyAuc2VhcmNoX2NvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICAgIGJvcmRlci10b3A6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAjc2VhcmNoLWlucHV0LXJlc3VsdHMgLnNlYXJjaF9jb250YWluZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7IH0gfVxuICAjc2VhcmNoLWlucHV0LXJlc3VsdHMgLm5vLXByb2R1Y3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBwYWRkaW5nOiAwLjVlbSAxZW07IH1cbiAgI3NlYXJjaC1pbnB1dC1yZXN1bHRzIC5zZWFyY2hfaXRlbSB7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtOyB9XG4gICAgI3NlYXJjaC1pbnB1dC1yZXN1bHRzIC5zZWFyY2hfaXRlbSAucHJvZHVjdC1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICNzZWFyY2gtaW5wdXQtcmVzdWx0cyAuc2VhcmNoX2l0ZW0gLnByb2R1Y3QtdGl0bGUge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gICAgI3NlYXJjaC1pbnB1dC1yZXN1bHRzIC5zZWFyY2hfaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgI3NlYXJjaC1pbnB1dC1yZXN1bHRzIC5zZWFyY2hfaXRlbSBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgI3NlYXJjaC1pbnB1dC1yZXN1bHRzIC5zZWFyY2hfaXRlbSAuaGVhZGluZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAgICNzZWFyY2gtaW5wdXQtcmVzdWx0cyAuc2VhcmNoX2l0ZW0gLmRlc2NyaXB0aW9uLCAjc2VhcmNoLWlucHV0LXJlc3VsdHMgLnNlYXJjaF9pdGVtIC5wcmljZSB7XG4gICAgICBjb2xvcjogIzE1MjkzNTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI3NlYXJjaC1pbnB1dC1yZXN1bHRzIC5zZWFyY2hfaXRlbTpob3ZlciBwIHtcbiAgICAgICAgY29sb3I6ICMwMTlCQUU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4OyB9XG4gICAgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciAudG9wLWJhciB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMC4ycmVtOyB9XG4gICAgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciA+IGRpdiA+IC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciA+IGRpdiAubWVudV9lbGVtZW50IC5vZmYtY2FudmFzLW1lbnUtdGFiIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7IH1cbiAgICAgIC5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIgPiBkaXYgLm1lbnVfZWxlbWVudCAub2ZmLWNhbnZhcy1tZW51LXRhYiA+IGEge1xuICAgICAgICBjb2xvcjogIzE1MjkzNTtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuN3JlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuN3JlbTsgfVxuICAgICAgICAubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyID4gZGl2IC5tZW51X2VsZW1lbnQgLm9mZi1jYW52YXMtbWVudS10YWIgPiBhLnRpdGxlLXRleHQge1xuICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciA+IGRpdiAubWVudV9lbGVtZW50IC5vZmYtY2FudmFzLW1lbnUtdGFiID4gYS5jYXJldCB7XG4gICAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyID4gZGl2IC5tZW51X2VsZW1lbnQgLm9mZi1jYW52YXMtbWVudS10YWIgPiBhLmNhcmV0OmFmdGVyIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjA1Myc7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGxpbmVhcjsgfVxuICAgIC5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIgPiBkaXYgLm1lbnVfZWxlbWVudCAuc3ViX21lbnUge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgbGluZWFyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOEM4Qzg7IH1cbiAgICAgIC5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIgPiBkaXYgLm1lbnVfZWxlbWVudCAuc3ViX21lbnUgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGxlZnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICAgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciA+IGRpdiAubWVudV9lbGVtZW50IC5zdWJfbWVudSAuZHJvcGRvd24tcGFuZSAuZ3JpZC14IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciA+IGRpdiAubWVudV9lbGVtZW50IC5zdWJfbWVudSAuZHJvcGRvd24tcGFuZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIgPiBkaXYgLm1lbnVfZWxlbWVudCAuc3ViX21lbnUgLmRyb3Bkb3duLXBhbmUgLmxpbmtfbGlzdCB1bCBsaSBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogIzE1MjkzNTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMC43cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjdyZW07IH1cbiAgICAubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyID4gZGl2IC5tZW51X2VsZW1lbnQuZXhwYW5kZWQgLm9mZi1jYW52YXMtbWVudS10YWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE1MjkzNTsgfVxuICAgICAgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciA+IGRpdiAubWVudV9lbGVtZW50LmV4cGFuZGVkIC5vZmYtY2FudmFzLW1lbnUtdGFiIGEge1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgICAgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciA+IGRpdiAubWVudV9lbGVtZW50LmV4cGFuZGVkIC5vZmYtY2FudmFzLW1lbnUtdGFiIGEuY2FyZXQ6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbiAgICAubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyID4gZGl2IC5tZW51X2VsZW1lbnQuZXhwYW5kZWQgLnN1Yl9tZW51IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIgLnRvcGVzdC1tb2JpbGUgLmFjY291bnQgLmJ1dHRvbi1ncm91cCB7XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyIC5saW5rX2xpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIgLmxpbmtfbGlzdCB1bCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgI21lbnVFbGVtZW50NSAjc3VibWVudTUgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgI21lbnVFbGVtZW50NSAjc3VibWVudTUgdWwgbGkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgI21lbnVFbGVtZW50NSAjc3VibWVudTUgdWwgbGkgYS50aXRsZS10ZXh0IHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1haW4tbWVudSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1haW4tbWVudSBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLm1haW4tbWVudSBhLFxuICAgIC5tYWluLW1lbnUgLmJ1dHRvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cbiAgICAubWFpbi1tZW51IGlucHV0LFxuICAgIC5tYWluLW1lbnUgc2VsZWN0LFxuICAgIC5tYWluLW1lbnUgYSxcbiAgICAubWFpbi1tZW51IGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm1haW4tbWVudSBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubWFpbi1tZW51IC5tYWluLW1lbnVfX2xpbmsge1xuICAgICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGNvbG9yOiAjNTE1MTUxO1xuICAgICAgcGFkZGluZy10b3A6IDEuMnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJyZW07IH1cbiAgICAgIC5tYWluLW1lbnUgLm1haW4tbWVudV9fbGluazpob3ZlciwgLm1haW4tbWVudSAubWFpbi1tZW51X19saW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgICAgIC5tYWluLW1lbnUgLm1haW4tbWVudV9fbGluay0tYWN0aXZlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICMxNTI5MzU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubWFpbi1tZW51IC5tYWluLW1lbnVfX2xpbmsge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubmF2aWdhdGlvbi1kZXNrdG9wLWNvbnRhaW5lciB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICB0b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogdW5zZXQgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy15OiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gICAgLm5hdmlnYXRpb24tZGVza3RvcC1jb250YWluZXIgPiBkaXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFQUVBRUE7IH1cbiAgICAgIC5uYXZpZ2F0aW9uLWRlc2t0b3AtY29udGFpbmVyID4gZGl2IC50b3AtYmFyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAubmF2aWdhdGlvbi1kZXNrdG9wLWNvbnRhaW5lciA+IGRpdiAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgICAgLm5hdmlnYXRpb24tZGVza3RvcC1jb250YWluZXIgPiBkaXYgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCB1bCBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgICAgIC5uYXZpZ2F0aW9uLWRlc2t0b3AtY29udGFpbmVyID4gZGl2IC50b3AtYmFyIC50b3AtYmFyLWxlZnQgdWwgbGk6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAubmF2aWdhdGlvbi1kZXNrdG9wLWNvbnRhaW5lciA+IGRpdiAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjFyZW07XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMXJlbTsgfVxuICAgICAgLm5hdmlnYXRpb24tZGVza3RvcC1jb250YWluZXIgPiBkaXYgLm1lZ2EtZHJvcGRvd25zLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5uYXZpZ2F0aW9uLWRlc2t0b3AtY29udGFpbmVyID4gZGl2IC5tZWdhLWRyb3Bkb3ducy1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDFyZW0gMDsgfVxuICAgICAgICAgIC5uYXZpZ2F0aW9uLWRlc2t0b3AtY29udGFpbmVyID4gZGl2IC5tZWdhLWRyb3Bkb3ducy1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUgLmNlbGwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLm5hdmlnYXRpb24tZGVza3RvcC1jb250YWluZXIgPiBkaXYgLm1lZ2EtZHJvcGRvd25zLWNvbnRhaW5lciAuZHJvcGRvd24tcGFuZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC5uYXZpZ2F0aW9uLWRlc2t0b3AtY29udGFpbmVyID4gZGl2IC5tZWdhLWRyb3Bkb3ducy1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgICAgICAubmF2aWdhdGlvbi1kZXNrdG9wLWNvbnRhaW5lciA+IGRpdiAubWVnYS1kcm9wZG93bnMtY29udGFpbmVyIC5kcm9wZG93bi1wYW5lIC5idXR0b24uaG9sbG93IHtcbiAgICAgICAgICAgIGNvbG9yOiAjMTUyOTM1O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTUyOTM1O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7IH1cbiAgICAgICAgICAubmF2aWdhdGlvbi1kZXNrdG9wLWNvbnRhaW5lciA+IGRpdiAubWVnYS1kcm9wZG93bnMtY29udGFpbmVyIC5kcm9wZG93bi1wYW5lIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgICAgICAgIC5uYXZpZ2F0aW9uLWRlc2t0b3AtY29udGFpbmVyID4gZGl2IC5tZWdhLWRyb3Bkb3ducy1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUgdWwgbGkgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgICAgICAgICAgIC5uYXZpZ2F0aW9uLWRlc2t0b3AtY29udGFpbmVyID4gZGl2IC5tZWdhLWRyb3Bkb3ducy1jb250YWluZXIgLmRyb3Bkb3duLXBhbmUgdWwgbGkgYTpob3ZlciwgLm5hdmlnYXRpb24tZGVza3RvcC1jb250YWluZXIgPiBkaXYgLm1lZ2EtZHJvcGRvd25zLWNvbnRhaW5lciAuZHJvcGRvd24tcGFuZSB1bCBsaSBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzgxODE4MTsgfVxuICAgIC5uYXZpZ2F0aW9uLWRlc2t0b3AtY29udGFpbmVyIC5tZWdhLW1lbnUtc3VidGl0bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4NDg0ODQ7IH1cbiAgICAubmF2aWdhdGlvbi1kZXNrdG9wLWNvbnRhaW5lciAubWVnYS1tZW51LXN1YnRpdGxlLWxpbmsge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjMTUyOTM1O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjRyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubmF2aWdhdGlvbi1kZXNrdG9wLWNvbnRhaW5lciAubWVnYS1tZW51LWxpbmstYWN0aXZlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH0gfVxuXG4ubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyIC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTI5MzU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyIC5sYWJlbDpob3ZlciwgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciAubGFiZWw6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIgLmxhYmVsIHNwYW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4OyB9XG4gICAgLm5hdmlnYXRpb24tbW9iaWxlLWNvbnRhaW5lciAubGFiZWwgc3BhbjphZnRlciB7XG4gICAgICBmb250LWZhbWlseTogXCJpY29tb29uXCI7XG4gICAgICBjb250ZW50OiBcIlxcZjEwMVwiO1xuICAgICAgZm9udC1zaXplOiAxNDAlO1xuICAgICAgbWFyZ2luOiAwIDJweCAwIDhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwOyB9XG5cbi5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIgaHIge1xuICBtYXJnaW46IDA7IH1cblxuI3RpdGxlLWJhci1jb250YWluZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7IH1cbiAgI3RpdGxlLWJhci1jb250YWluZXIgLnRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAgICN0aXRsZS1iYXItY29udGFpbmVyIC50aXRsZS1iYXIgLnRpdGxlLWJhci1jZW50ZXIgLmxvZ28tbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICN0aXRsZS1iYXItY29udGFpbmVyIC50aXRsZS1iYXIgLnRpdGxlLWJhci1jZW50ZXIgLmxvZ28tbGluayBpbWcge1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIG1hcmdpbjogMHB4IDEwcHg7IH1cbiAgICAjdGl0bGUtYmFyLWNvbnRhaW5lciAudGl0bGUtYmFyIC50aXRsZS1iYXItbGVmdCBidXR0b246YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzE1MjkzNTtcbiAgICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzE1MjkzNSwgMCAxNHB4IDAgIzE1MjkzNTsgfVxuICAgICN0aXRsZS1iYXItY29udGFpbmVyIC50aXRsZS1iYXIgLnRpdGxlLWJhci1yaWdodCBidXR0b24sXG4gICAgI3RpdGxlLWJhci1jb250YWluZXIgLnRpdGxlLWJhciAudGl0bGUtYmFyLXJpZ2h0IGEge1xuICAgICAgY29sb3I6ICMxNTI5MzU7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICN0aXRsZS1iYXItY29udGFpbmVyIC5iYWRnZS5jYXJ0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC01cHg7XG4gICAgbGVmdDogLTEwcHg7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MkQyMzc7IH1cbiAgICAjdGl0bGUtYmFyLWNvbnRhaW5lciAuYmFkZ2UuY2FydFtkYXRhLWNhcnRDb3VudD1cIjBcIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjdGl0bGUtYmFyLWNvbnRhaW5lciAuYmFkZ2Uud2lzaGxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREM1RTVFO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAtMTBweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAjdGl0bGUtYmFyLWNvbnRhaW5lciAuYmFkZ2Uud2lzaGxpc3RbZGF0YS13aXNobGlzdENvdW50PVwiMFwiXSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi50b3Blc3QtYmFyIHtcbiAgYmFja2dyb3VuZDogIzAxOUJBRTtcbiAgZm9udC1zaXplOiA5MCU7IH1cbiAgLnRvcGVzdC1iYXIgLnRvcGVzdC1sZWZ0IHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XG4gICAgLnRvcGVzdC1iYXIgLnRvcGVzdC1sZWZ0IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC50b3Blc3QtYmFyIC50b3Blc3QtY2VudGVyIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XG4gICAgLnRvcGVzdC1iYXIgLnRvcGVzdC1jZW50ZXIgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnRvcGVzdC1iYXIgLnRvcGVzdC1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC50b3Blc3QtYmFyIC50b3Blc3QtcmlnaHQgLmFjY291bnQge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIC50b3Blc3QtYmFyIC50b3Blc3QtcmlnaHQgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuZm9vdGVyIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jZm9vdGVyX3ByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGQkZCO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzhDOEM4O1xuICBwYWRkaW5nLXRvcDogNjVweDtcbiAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIG1hcmdpbi10b3A6IDY1cHg7IH1cbiAgI2Zvb3Rlcl9wcmltYXJ5IHAuaGVhZGxpbmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICNmb290ZXJfcHJpbWFyeSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAjZm9vdGVyX3ByaW1hcnkgLm1lbnUudmVydGljYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgI2Zvb3Rlcl9wcmltYXJ5IC5pbWFnZV9ncm91cGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgI2Zvb3Rlcl9wcmltYXJ5IC5pbWFnZV9ncm91cGUgaW1nIHtcbiAgICAgIG1hcmdpbjogMCA1cHggMTBweDsgfVxuXG4jZm9vdGVyX3NlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRTM2NDI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4OyB9XG4gICNmb290ZXJfc2Vjb25kYXJ5IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICNmb290ZXJfc2Vjb25kYXJ5IC5ib3R0b21fbGluZV9saW5rc19zZXBhcmF0aW9uIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAjZm9vdGVyX3NlY29uZGFyeSAuZm9vdGVyLWxpbmUtZGF0ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRnVubmVsIHBhZ2VzIHNwZWNpZmljYXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LmZ1bm5lbC1ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRkJGQjsgfVxuICBib2R5LmZ1bm5lbC1ib2R5IGgyOmJlZm9yZSwgYm9keS5mdW5uZWwtYm9keSAjY2FydC1jb250YWluZXIgaDI6YmVmb3JlLCAjY2FydC1jb250YWluZXIgYm9keS5mdW5uZWwtYm9keSBoMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxOUJBRTtcbiAgICB3aWR0aDogNTZweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggMCAxMHB4OyB9XG4gIGJvZHkuZnVubmVsLWJvZHkgLnRpdGxlLWJhciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOEM4Qzg7IH1cbiAgICBib2R5LmZ1bm5lbC1ib2R5IC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIGJvZHkuZnVubmVsLWJvZHkgI2hlYWRlci1kZXNrdG9wIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0M4QzhDODsgfVxuICBib2R5LmZ1bm5lbC1ib2R5IC5ib3R0b20tbGluZS1saW5rcyAubGluZS1sZWdhbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGdW5uZWwgYW5kIGFjY291bnQgZm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcGFjZXItMTUge1xuICBoZWlnaHQ6IDE1cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zcGFjZXItMzAge1xuICBoZWlnaHQ6IDMwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zcGFjZXItNDUge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5sb2dpbi1jb250YWluZXIgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnByb2R1Y3RzLWxpc3Qge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcm9kdWN0cy1saXN0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbi5wcm9kdWN0LWNhcmQge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIG1pbi13aWR0aDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWNhcmQge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdC1jYXJkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAucHJvZHVjdC1jYXJkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5wcm9kdWN0LWNhcmQ6aG92ZXIgLnByb2R1Y3QtY2FyZF9faW1hZ2UsIC5wcm9kdWN0LWNhcmQ6Zm9jdXMgLnByb2R1Y3QtY2FyZF9faW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgLnByb2R1Y3QtY2FyZDpob3ZlciAucHJvZHVjdC1jYXJkX193aXNobGlzdC1idG4sIC5wcm9kdWN0LWNhcmQ6Zm9jdXMgLnByb2R1Y3QtY2FyZF9fd2lzaGxpc3QtYnRuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnByb2R1Y3QtY2FyZF9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wcm9kdWN0LWNhcmRfX2xpbms6aG92ZXIgLnByb2R1Y3QtY2FyZF9faW1hZ2UsIC5wcm9kdWN0LWNhcmRfX2xpbms6Zm9jdXMgLnByb2R1Y3QtY2FyZF9faW1hZ2Uge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cblxuLnByb2R1Y3QtY2FyZF9faW1hZ2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMjAwcHg7IH1cblxuLnByb2R1Y3QtY2FyZF9faW1hZ2Uge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlLWluO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLnByb2R1Y3QtY2FyZF9fZGV0YWlscyB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGNvbG9yOiAjNTE1MTUxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1jYXJkX19kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDsgfSB9XG5cbi5wcm9kdWN0LWNhcmRfX25hbWUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDA7XG4gIC8qIFRPRE86IFJlbW92ZSBvbmNlIG1vZGVsIG5hbWUgYW5kIGNvbG9yIGFyZSBzZXBhcmF0ZWQgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnByb2R1Y3QtY2FyZF9fc3VidGl0bGUge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcm9kdWN0LWNhcmRfX3ByaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLnByb2R1Y3QtY2FyZF9fY29sb3JzIHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC8qIEFkZCB0byB3aXNobGlzdCBidXR0b24gaXMgYWx3YXlzIHNob3duIG9uIG1vYmlsZSAgXG5cdCAgIGJ1dCBvbiBsYXJnZXIgc2NyZWVucywgaXQncyBkaXNwbGF5ZWQgb24gaG92ZXIgb25seVxuXHQqL1xuICAucHJvZHVjdC1jYXJkX193aXNobGlzdC1idG4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAycHgsIDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnByb2R1Y3QtY2FyZDpob3ZlciAucHJvZHVjdC1jYXJkX193aXNobGlzdC1idG4sIC5wcm9kdWN0LWNhcmQ6Zm9jdXMgLnByb2R1Y3QtY2FyZF9fd2lzaGxpc3QtYnRuIHtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC4ycztcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7IH0gfVxuXG4ucHJvZHVjdC1jYXJkX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiAzcHg7IH1cblxuLnByb2R1Y3QtY2FyZF9fc2l6ZXMgLnNpemUtdGV4dCxcbi5wcm9kdWN0LWNhcmRfX3NpemVzIC5zaXplLXZhbHVlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogIzVBNjg3MjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2R1Y3QtY2FyZF9fc2l6ZXMgLnNpemUtdGV4dCxcbiAgICAucHJvZHVjdC1jYXJkX19zaXplcyAuc2l6ZS12YWx1ZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuXG4uY2FyZC10cnktb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuY2FyZC10cnktb24gLnRyeS1pdC1vbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzUxNTE1MTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTE1MTUxO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICBmb250LXNpemU6IDEwcHg7IH1cbiAgICAuY2FyZC10cnktb24gLnRyeS1pdC1vbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYyYzBcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICBjb2xvcjogIzUxNTE1MTtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlcjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jYXJkLXNpemUgLnNpemUtdGV4dCwgLmNhcmQtc2l6ZSAuc2l6ZS12YWx1ZSB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5jYXJkLXRyeS1vbiB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDJweCwgMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5jYXJkLXRyeS1vbiAudHJ5LWl0LW9uIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAucHJvZHVjdC1jYXJkOmhvdmVyIC5jYXJkLXRyeS1vbiwgLnByb2R1Y3QtY2FyZDpmb2N1cyAuY2FyZC10cnktb24ge1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogLjJzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsgfSB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi9hamF4LWxvYWRlci5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7IH1cblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90XCIpO1xuICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4vZm9udHMvc2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBBcnJvd3MgKi9cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMHB4O1xuICBmb250LXNpemU6IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1wcmV2OmhvdmVyLCAuc2xpY2stcHJldjpmb2N1cyxcbiAgLnNsaWNrLW5leHQ6aG92ZXIsXG4gIC5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmhvdmVyOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpmb2N1czpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsXG4gIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNTsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUsXG4gIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4OyB9XG4gIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLihpBcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGklwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcm91c2VsIEludHJvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ2Fyb3VzZWwgUHJvZHVjdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNsaWNrLWNhcm91c2VsIC5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLWNhcm91c2VsIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb250ZW50OiAnXFxmMDUzJztcbiAgY29sb3I6ICNDOEM4Qzg7IH1cblxuLnNsaWNrLWNhcm91c2VsIC5zbGljay1wcmV2IHtcbiAgbGVmdDogNXB4O1xuICB6LWluZGV4OiA5OTk7IH1cbiAgLnNsaWNrLWNhcm91c2VsIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjA1Myc7IH1cblxuLnNsaWNrLWNhcm91c2VsIC5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDVweDsgfVxuICAuc2xpY2stY2Fyb3VzZWwgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxmMDU0JzsgfVxuXG4uc2xpY2stY2Fyb3VzZWwgLnNsaWNrLWRvdHMge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNsaWNrLWNhcm91c2VsIC5wcm9kdWN0LWNhcm91c2VsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgLnNsaWNrLWNhcm91c2VsIC5wcm9kdWN0LWNhcm91c2VsIC50aHVtYm5haWwge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAuc2xpY2stY2Fyb3VzZWwgLnByb2R1Y3QtY2Fyb3VzZWwgLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1jYXJvdXNlbCAucHJvZHVjdC1jYXJvdXNlbCAuYmFkZ2Uge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJhY2tncm91bmQ6ICNDOEM4Qzg7IH1cbiAgLnNsaWNrLWNhcm91c2VsIC5wcm9kdWN0LWNhcm91c2VsIC50aXRsZS1wcm9kdWN0IHtcbiAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgICBmb250LXNpemU6IGluaXRpYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogaW5pdGlhbDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2xpY2stY2Fyb3VzZWwgLnByb2R1Y3QtY2Fyb3VzZWwgLnRpdGxlLXByb2R1Y3QgYSB7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogIzE1MjkzNTtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5zbGljay1jYXJvdXNlbCAucHJvZHVjdC1jYXJvdXNlbCAucHJpY2UtcHJvZHVjdCB7XG4gICAgZm9udC1zdHlsZTogcmVndWxhcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDYXJvdXNlbCBCUkFORFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zbGljay1jYXJvdXNlbC1icmFuZHMgLnNsaWNrLXRyYWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5zbGljay1jYXJvdXNlbC1icmFuZHMgLnNsaWNrLXNsaWRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5zbGljay1jYXJvdXNlbC1icmFuZHMgLnNsaWNrLXNsaWRlIGEge1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgLnNsaWNrLWNhcm91c2VsLWJyYW5kcyAuc2xpY2stc2xpZGUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAxOUJBRTsgfVxuXG4ubGFuZ3VhZ2Utc2VsZWN0b3Ige1xuICBjb2xvcjogIzE1MjkzNTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAubGFuZ3VhZ2Utc2VsZWN0b3IgPiBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubGFuZ3VhZ2Utc2VsZWN0b3IgLmRyb3Bkb3duLXBhbmUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlci1jb2xvcjogI0VBRUFFQTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCA2cHg7XG4gICAgZm9udC1zaXplOiA5MCU7IH1cbiAgICAubGFuZ3VhZ2Utc2VsZWN0b3IgLmRyb3Bkb3duLXBhbmUgYSB7XG4gICAgICBjb2xvcjogIzE1MjkzNTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC4ycmVtIDAuMjI1cmVtIDAuNHJlbSAwLjNyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAubGFuZ3VhZ2Utc2VsZWN0b3Ige1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5sYW5ndWFnZS1zZWxlY3RvciBhIHtcbiAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgLmxhbmd1YWdlLXNlbGVjdG9yIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgZmxvYXQ6IGluaXRpYWw7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERFU0NSSVBUSU9OIEJPVFRPTVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRlc2NyaXB0aW9uLWJvdHRvbS1jb250ZW50IHtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDsgfVxuICAuZGVzY3JpcHRpb24tYm90dG9tLWNvbnRlbnQgLmRlc2NyaXB0aW9uLWJvdHRvbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogRmFsbGJhY2sgZm9yIG5vbi13ZWJraXQgKi9cbiAgICBoZWlnaHQ6IDM4LjRweDtcbiAgICAvKiBGYWxsYmFjayBmb3Igbm9uLXdlYmtpdCAqL1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGVzY3JpcHRpb24tYm90dG9tLWNvbnRlbnQgLmRlc2NyaXB0aW9uLWJvdHRvbSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLyogRmFsbGJhY2sgZm9yIG5vbi13ZWJraXQgKi9cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTEzJTsgfSB9XG4gIC5kZXNjcmlwdGlvbi1ib3R0b20tY29udGVudCAuYnRuLWluZm8ge1xuICAgIGNvbG9yOiAjM0Q3MEIyO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGVzY3JpcHRpb24tYm90dG9tLWNvbnRlbnQgLmJ0bi1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmRlc2NyaXB0aW9uLWJvdHRvbS1jb250ZW50IC5idG4taW5mbyBzcGFuLm1vcmUtaW5mbyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5kZXNjcmlwdGlvbi1ib3R0b20tY29udGVudCAuYnRuLWluZm8gc3Bhbi5sZXNzLWluZm8ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uZGVzY3JpcHRpb24tYm90dG9tLWNvbnRlbnQuZGVzY3JpcHRpb24tYm90dG9tLXRvZ2dsZXIgLmRlc2NyaXB0aW9uLWJvdHRvbSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZGVzY3JpcHRpb24tYm90dG9tLWNvbnRlbnQuZGVzY3JpcHRpb24tYm90dG9tLXRvZ2dsZXIgLmJ0bi1pbmZvIHNwYW4ubW9yZS1pbmZvIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZGVzY3JpcHRpb24tYm90dG9tLWNvbnRlbnQuZGVzY3JpcHRpb24tYm90dG9tLXRvZ2dsZXIgLmJ0bi1pbmZvIHNwYW4ubGVzcy1pbmZvIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRklMVEVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jZmlsdGVyLW5hdi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0M4QzhDODtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5zbWFsbC1maXhlZC10b3Age1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiA1MHB4O1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tb2JpbGUtZmlsdGVyLWJhbmQtY29udGFpbmVyIHtcbiAgICAgIGNvbG9yOiAjNTE1MTUxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tb2JpbGUtZmlsdGVyLWJhbmQtY29udGFpbmVyIGEge1xuICAgICAgICBjb2xvcjogIzUxNTE1MTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAub3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5vdmVybGF5LnNob3ctbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5vdmVybGF5ICNmaWx0ZXItbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgaGVpZ2h0OiA4NSU7XG4gICAgICAgIHRvcDogOC41JTtcbiAgICAgICAgbGVmdDogNSU7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAub3ZlcmxheSAjZmlsdGVyLW1lbnUuc2hvdy1tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgb3ZlcmZsb3c6IHNjcm9sbDsgfVxuICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm92ZXJsYXkgI2ZpbHRlci1tZW51IGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAub3ZlcmxheSAjZmlsdGVyLW1lbnUgaDI6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5vdmVybGF5ICNmaWx0ZXItbWVudSAuZmlsdGVyLXRpdGxlLW1vYmlsZSB7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDBweCAyMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgei1pbmRleDogODUwOyB9XG4gICAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5vdmVybGF5ICNmaWx0ZXItbWVudSAuZmlsdGVyLXRpdGxlLW1vYmlsZSAuZmlsdGVyLWNsZWFyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNTE1MTUxO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm92ZXJsYXkgI2ZpbHRlci1tZW51IC5tZW51LmV4cGFuZGVkIHtcbiAgICAgICAgICBwYWRkaW5nOiAwcHggMjBweCAyMHB4IDIwcHg7IH1cbiAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5vdmVybGF5ICNmaWx0ZXItbWVudSAuc2hvdy1yZXN1bHRzIHtcbiAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAub3ZlcmxheSAjZmlsdGVyLW1lbnUgLnNob3ctcmVzdWx0cyAuYm94LCAjZmlsdGVyLW5hdi1jb250YWluZXIgLm92ZXJsYXkgI2ZpbHRlci1tZW51IC5zaG93LXJlc3VsdHMgLnRhYnMuZnJlZSAudGFicy10aXRsZSBhLCAudGFicy5mcmVlIC50YWJzLXRpdGxlICNmaWx0ZXItbmF2LWNvbnRhaW5lciAub3ZlcmxheSAjZmlsdGVyLW1lbnUgLnNob3ctcmVzdWx0cyBhIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAub3ZlcmxheSAjZmlsdGVyLW1lbnUgLnNob3ctcmVzdWx0cyAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAwOyB9IH1cbiAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VBRUFFQTsgfVxuICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLW5hbWUge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1uYW1lOmFmdGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMDcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1uYW1lOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMzAlOyB9IH1cbiAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLW5hbWU6aG92ZXIge1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHggMTZweDsgfVxuICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdCAub3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3QgLm9wdGlvbiBhOm5vdCguYnV0dG9uLWxpbmUpIHtcbiAgICAgICAgICBjb2xvcjogIzUxNTE1MTtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgIG1hcmdpbjogMHB4OyB9XG4gICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3QgLm9wdGlvbiAuY2hlY2s6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjA5NlwiO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3QgLm9wdGlvbi5zZWxlY3RlZCAuY2hlY2s6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjA0NlwiO1xuICAgICAgICAgIGNvbG9yOiAjMDE5QkFFOyB9XG4gICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0IC5wcmVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUFFQUVBOyB9XG4gICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0LnNpemUge1xuICAgICAgICB3aWR0aDogaW5pdGlhbDsgfVxuICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdCAuZGltZW5zaW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdCAuZGltZW5zaW9uIC5zbGlkZXItY29udGFpbmVyIHtcbiAgICAgICAgICBjb2xvcjogIzY3Njc2NztcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3QgLmRpbWVuc2lvbiAuc2xpZGVyLWNvbnRhaW5lciAuaWNvbi1zaXplLXdpZHRoOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU5MDYnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0IC5kaW1lbnNpb24gLnNsaWRlci1jb250YWluZXIgLnNsaWRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDAuMTVyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjdyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjdyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhDOEM4OyB9XG4gICAgICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0IC5kaW1lbnNpb24gLnNsaWRlci1jb250YWluZXIgLnNsaWRlciAuc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAwLjhyZW07XG4gICAgICAgICAgICAgIGhlaWdodDogMC44cmVtO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTlCQUU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdCAuZGltZW5zaW9uIC5zbGlkZXItY29udGFpbmVyIC5zbGlkZXIgLnNsaWRlci1maWxsIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwLjE1cmVtO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUE2ODcyOyB9XG4gICAgICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0IC5kaW1lbnNpb24gLnNsaWRlci1jb250YWluZXIgLnNsaWRlciAudmFsdWUtYmFyIHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0IC5kaW1lbnNpb24gLnNsaWRlci1jb250YWluZXIgLnNsaWRlciAudmFsdWUtYmFyIGlucHV0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNjc2NzY3O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3QuY29sb3Ige1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdC5jb2xvciAub3B0aW9uIHtcbiAgICAgICAgd2lkdGg6IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0LmNvbG9yIC5vcHRpb24gLmNvbG9yLWNpcmNsZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgIHdpZHRoOiAzOXB4O1xuICAgICAgICAgIGhlaWdodDogMzlweDsgfVxuICAgICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3QuY29sb3IgLm9wdGlvbiAuY29sb3ItY2lyY2xlIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMzcHg7IH1cbiAgICAgICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3QuY29sb3IgLm9wdGlvbiAuY29sb3ItY2lyY2xlIHNwYW4ud2hpdGUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmZhICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdC5jb2xvciAub3B0aW9uLnNlbGVjdGVkIC5jb2xvci1jaXJjbGUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAxOUJBRTsgfVxuICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0LmNvbG9yIC5vcHRpb24uc2VsZWN0ZWQgLmNvbG9yLW5hbWUge1xuICAgICAgICAgIGNvbG9yOiAjMDE5QkFFOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcbiAgdG9wOiAzMCU7XG4gIHJpZ2h0OiA1JTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNmaWx0ZXItbmF2LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMC40cmVtIDA7IH1cbiAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbmFtZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3Qge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjRyZW07XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIG1pbi13aWR0aDogMTgwcHg7IH1cbiAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdCAub3B0aW9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0IC5kaW1lbnNpb24ge1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUFFQUVBOyB9XG4gICAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdCAuZGltZW5zaW9uIC5zbGlkZXItY29udGFpbmVyIC5zbGlkZXIgLnZhbHVlLWJhciBpbnB1dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0IC5kaW1lbnNpb24gLnNsaWRlci1jb250YWluZXIgLnNsaWRlciAudmFsdWUtYmFyIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4OyB9XG4gICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3QuY29sb3IgLm9wdGlvbiB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdC5jb2xvciAub3B0aW9uIC5jb2xvci1jaXJjbGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdC5jb2xvciAub3B0aW9uIC5jb2xvci1jaXJjbGUgc3BhbiB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdC5jb2xvciAub3B0aW9uIC5jb2xvci1uYW1lIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjZmlsdGVyLW5hdi1jb250YWluZXIge1xuICAgIHRvcDogMDsgfVxuICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1uYW1lOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgICAgI2ZpbHRlci1uYXYtY29udGFpbmVyIC5tZW51LmV4cGFuZGVkIGxpIC5vcHRpb24tbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNnB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4OyB9XG4gICAgICAgICNmaWx0ZXItbmF2LWNvbnRhaW5lciAubWVudS5leHBhbmRlZCBsaSAub3B0aW9uLWxpc3QgLmRpbWVuc2lvbiAuc2xpZGVyLWNvbnRhaW5lciAuc2xpZGVyIC52YWx1ZS1iYXIgaW5wdXQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0IC5kaW1lbnNpb24gLnNsaWRlci1jb250YWluZXIgLnNsaWRlciAudmFsdWUtYmFyIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogaW5pdGlhbDsgfVxuICAgICAgICAjZmlsdGVyLW5hdi1jb250YWluZXIgLm1lbnUuZXhwYW5kZWQgbGkgLm9wdGlvbi1saXN0LnNpemUge1xuICAgICAgICAgIHdpZHRoOiAyMjVweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNPUlQgQllcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiNzb3J0LWJ5LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDI1cHg7IH1cbiAgI3NvcnQtYnktY29udGFpbmVyIC5xdWFudGl0eSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gICAgI3NvcnQtYnktY29udGFpbmVyIC5xdWFudGl0eSAuZmlsdGVyLXF1YW50aXR5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsOyB9XG4gICNzb3J0LWJ5LWNvbnRhaW5lciAuc29ydC1ieSBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogaW5pdGlhbDsgfVxuICAjc29ydC1ieS1jb250YWluZXIgLnNvcnQtYnkgc2VsZWN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI3NvcnQtYnktY29udGFpbmVyIC5xdWFudGl0eSAuZmlsdGVyLXF1YW50aXR5IHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgI3NvcnQtYnktY29udGFpbmVyIC5zb3J0LWJ5IGxhYmVsIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgI3NvcnQtYnktY29udGFpbmVyIC5zb3J0LWJ5IHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuLnVzcC1iYW5kIHtcbiAgYmFja2dyb3VuZDogIzAxOUJBRTtcbiAgcGFkZGluZy10b3A6IDY1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA2NXB4OyB9XG4gIC51c3AtYmFuZCBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgIGNvbG9yOiAjMDE5QkFFO1xuICAgIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA5MHB4O1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAudXNwLWJhbmQgaDMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudXNwLWJhbmQgcCB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLmpzZS13aXNoTGlzdEFjdGlvbkJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICNEQzVFNUU7IH1cbiAgLmpzZS13aXNoTGlzdEFjdGlvbkJ1dHRvbjpob3ZlciwgLmpzZS13aXNoTGlzdEFjdGlvbkJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICNEQzVFNUU7IH1cbiAgLmpzZS13aXNoTGlzdEFjdGlvbkJ1dHRvbjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuanNlLXdpc2hMaXN0QWN0aW9uQnV0dG9uLmpzcy1hZGQtdG8td2lzaGxpc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA4YVwiOyB9XG4gIC5qc2Utd2lzaExpc3RBY3Rpb25CdXR0b24uanNzLXJlbW92ZS1mcm9tLXdpc2hsaXN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwMDRcIjsgfVxuICAuanNlLXdpc2hMaXN0QWN0aW9uQnV0dG9uOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgY29sb3I6ICNEQzVFNUU7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIGJvcmRlcjogMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW0gLnByb2R1Y3QtcmVtb3ZlLnByb2R1Y3QtdGl0bGUtYWNjb3JkaW9uIHtcbiAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLmFjY29yZGlvbi1pdGVtIC5wcm9kdWN0LXJlbW92ZS5wcm9kdWN0LXRpdGxlLWFjY29yZGlvbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgY29udGVudDogXCJcXGYwMTRcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLndpc2hsaXN0LWl0ZW0tY29udGFpbmVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDByZW07IH1cbiAgLndpc2hsaXN0LWl0ZW0tY29udGFpbmVyIC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLnByb2R1Y3QtbmFtZSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDsgfSB9XG4gIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAucHJvZHVjdC1yZW1vdmUgYSB7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLnByb2R1Y3QtcmVtb3ZlIGE6YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICBjb250ZW50OiBcIlxcZjAxNFwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAucHJvZHVjdC1uYW1lLCAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLnByb2R1Y3QtcmVtb3ZlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLndpc2hsaXN0LWl0ZW0ge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLndpc2hsaXN0LWl0ZW0tY29udGFpbmVyIC53aXNobGlzdC1pdGVtIC5saW5lLTEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOEM4Qzg7IH1cbiAgICAgIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAud2lzaGxpc3QtaXRlbSAubGluZS0xIC50aHVtYm5haWwge1xuICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLndpc2hsaXN0LWl0ZW0gLmxpbmUtMSAudGh1bWJuYWlsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLndpc2hsaXN0LWl0ZW0gLmxpbmUtMSAudGh1bWJuYWlsIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTsgfSB9XG4gICAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLndpc2hsaXN0LWl0ZW0gLmxpbmUtMSAucHJvcGVydGllcy1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLndpc2hsaXN0LWl0ZW0gLmxpbmUtMSAucHJvcGVydGllcy1jb250YWluZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAud2lzaGxpc3QtaXRlbSAubGluZS0xIC5wcm9wZXJ0aWVzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDOEM4Qzg7IH0gfVxuICAgICAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLndpc2hsaXN0LWl0ZW0gLmxpbmUtMSAucHJvcGVydGllcy1jb250YWluZXIgZGl2IHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAud2lzaGxpc3QtaXRlbSAubGluZS0xIC5wcm9wZXJ0aWVzLWNvbnRhaW5lciBkaXYgLnByb3BlcnRpZXMtdGl0bGUsIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAud2lzaGxpc3QtaXRlbSAubGluZS0xIC5wcm9wZXJ0aWVzLWNvbnRhaW5lciBkaXYgLnByb3BlcnRpZXMtdmFsdWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAgIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAud2lzaGxpc3QtaXRlbSAubGluZS0xIC5wcm9wZXJ0aWVzLWNvbnRhaW5lciBkaXYgLnByb3BlcnRpZXMtdGl0bGUsIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAud2lzaGxpc3QtaXRlbSAubGluZS0xIC5wcm9wZXJ0aWVzLWNvbnRhaW5lciBkaXYgLnByb3BlcnRpZXMtdmFsdWUge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OyB9IH1cbiAgICAgICAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLndpc2hsaXN0LWl0ZW0gLmxpbmUtMSAucHJvcGVydGllcy1jb250YWluZXIgZGl2IC5wcm9wZXJ0aWVzLXRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTI5MzU7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgICAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLndpc2hsaXN0LWl0ZW0gLmxpbmUtMSAucHJvcGVydGllcy1jb250YWluZXIgZGl2IC5wcm9wZXJ0aWVzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgICAgICAgLndpc2hsaXN0LWl0ZW0tY29udGFpbmVyIC53aXNobGlzdC1pdGVtIC5saW5lLTEgLnByb3BlcnRpZXMtY29udGFpbmVyIGRpdiAucHJvcGVydGllcy12YWx1ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgICAgICAgIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAud2lzaGxpc3QtaXRlbSAubGluZS0xIC5wcm9wZXJ0aWVzLWNvbnRhaW5lciBkaXYgLnByb3BlcnRpZXMtdmFsdWUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLndpc2hsaXN0LWl0ZW0tY29udGFpbmVyIC53aXNobGlzdC1pdGVtIC5saW5lLTIge1xuICAgICAgLypib3JkZXItbGVmdDogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2s7Ki9cbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgICAgIC53aXNobGlzdC1pdGVtLWNvbnRhaW5lciAud2lzaGxpc3QtaXRlbSAubGluZS0yIC5wcm9kdWN0LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLndpc2hsaXN0LWl0ZW0gLmxpbmUtMiAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgICAgLndpc2hsaXN0LWl0ZW0tY29udGFpbmVyIC53aXNobGlzdC1pdGVtIC5saW5lLTIgLnByb2R1Y3QtZGVzY3JpcHRpb24gdWwge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAud2lzaGxpc3QtaXRlbS1jb250YWluZXIgLnByb2R1Y3QtcHJpY2Uge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLndpc2hsaXN0LWl0ZW0tY29udGFpbmVyIC5wcm9kdWN0LXByaWNlIC5wcmljZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLndpc2hsaXN0LWFjY29yZGlvbi1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC4ycmVtOyB9XG4gIC53aXNobGlzdC1hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjRUFFQUVBOyB9XG4gIC53aXNobGlzdC1hY2NvcmRpb24taXRlbSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLndpc2hsaXN0LWFjY29yZGlvbi1pdGVtID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLndpc2hsaXN0LWFjY29yZGlvbi1pdGVtID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgLndpc2hsaXN0LWFjY29yZGlvbi1pdGVtID4gYTpob3ZlciwgLndpc2hsaXN0LWFjY29yZGlvbi1pdGVtID4gYTphY3RpdmUsIC53aXNobGlzdC1hY2NvcmRpb24taXRlbSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI0VBRUFFQTsgfVxuICAud2lzaGxpc3QtYWNjb3JkaW9uLWl0ZW0gPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC53aXNobGlzdC1hY2NvcmRpb24taXRlbSA+IC5hY2NvcmRpb24tdGl0bGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC53aXNobGlzdC1hY2NvcmRpb24taXRlbSBhID4gc3BhbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAud2lzaGxpc3QtYWNjb3JkaW9uLWl0ZW0gLm1lbnUtcmlnaHQtd2lzaGxpc3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDFyZW07XG4gICAgcmlnaHQ6IDFyZW07IH1cbiAgICAud2lzaGxpc3QtYWNjb3JkaW9uLWl0ZW0gLm1lbnUtcmlnaHQtd2lzaGxpc3QgYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gdWwge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi5wcm9kdWN0LWNvbmZpZ3VyYXRpb24gdWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnByb2R1Y3QtY29uZmlndXJhdGlvbiAucHJlc2NyaXB0aW9uLWZpbGUge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuI1JpZ2h0Q29sdW1uICNtYWdlbGxhbk1lbnUge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI1JpZ2h0Q29sdW1uICNtYWdlbGxhbk1lbnUge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgI1JpZ2h0Q29sdW1uICNtYWdlbGxhbk1lbnUgbGkuZG9jcy1uYXYtdGl0bGUge1xuICAgIGNvbG9yOiAjNUE2ODcyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgI1JpZ2h0Q29sdW1uICNtYWdlbGxhbk1lbnUgbGkuZG9jcy1uYXYtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgI1JpZ2h0Q29sdW1uICNtYWdlbGxhbk1lbnUgbGkubGluay1sZXZlbDIge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAjUmlnaHRDb2x1bW4gI21hZ2VsbGFuTWVudSBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRUFFQUVBOyB9XG4gICNSaWdodENvbHVtbiAjbWFnZWxsYW5NZW51IGxpIGEuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjM0Q3MEIyOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDkuIE5ha2VkIGFjY29yZGlvbiAoZXh0ZW5kcyBvcmlnaW5hbCBGb3VuZGF0aW9uIGFjY29yZGlvbilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hY2NvcmRpb24ubmFrZWQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuYWNjb3JkaW9uLm5ha2VkIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogIzE1MjkzNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYWNjb3JkaW9uLm5ha2VkIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjsgfVxuICAgIC5hY2NvcmRpb24ubmFrZWQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIC4yczsgfVxuICAgIC5hY2NvcmRpb24ubmFrZWQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYWNjb3JkaW9uLm5ha2VkIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZSAuYWNjb3JkaW9uLXRpdGxlLXJpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmFjY29yZGlvbi5uYWtlZCAuYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGUgaDIsIC5hY2NvcmRpb24ubmFrZWQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlICNjYXJ0LWNvbnRhaW5lciBoMiwgI2NhcnQtY29udGFpbmVyIC5hY2NvcmRpb24ubmFrZWQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlIGgyLCAuYWNjb3JkaW9uLm5ha2VkIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZSBoMywgLmFjY29yZGlvbi5uYWtlZCAuYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGUgaDQsIC5hY2NvcmRpb24ubmFrZWQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlIC5jYXJkc19ibG9jayAuZ3JpZC14IC5jZWxsIC5jYXJkIC5jYXJkLXNlY3Rpb24gLnRpdGxlLCAuY2FyZHNfYmxvY2sgLmdyaWQteCAuY2VsbCAuY2FyZCAuY2FyZC1zZWN0aW9uIC5hY2NvcmRpb24ubmFrZWQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlIC50aXRsZSwgLmFjY29yZGlvbi5uYWtlZCAuYWNjb3JkaW9uLWl0ZW0gYS5hY2NvcmRpb24tdGl0bGUgLmNoZWNrb3V0X3N1bW1hcnkgLmFjY29yZGlvbiA+IC5hY2NvcmRpb24tdGl0bGUsIC5jaGVja291dF9zdW1tYXJ5IC5hY2NvcmRpb24ubmFrZWQgLmFjY29yZGlvbi1pdGVtIGEuYWNjb3JkaW9uLXRpdGxlIC5hY2NvcmRpb24gPiAuYWNjb3JkaW9uLXRpdGxlLCAuYWNjb3JkaW9uLm5ha2VkIC5hY2NvcmRpb24taXRlbSBhLmFjY29yZGlvbi10aXRsZSBoNSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmFjY29yZGlvbi5uYWtlZCAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLmFjY29yZGlvbi5uYWtlZCAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlID4gYS5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIHRvcDogMzAlO1xuICAgIHJpZ2h0OiA1JTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5hY2NvcmRpb24ubmFrZWQubm8tcGFkZGluZyA+IC5hY2NvcmRpb24taXRlbSA+IC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuYWNjb3JkaW9uLm5ha2VkLm5vLWJvdHRvbS1tYXJnaW4ge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uc2NoZW1hLWdsYXNzZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNEY0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogLTFyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTFyZW07XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICBwYWRkaW5nOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuICAuc2NoZW1hLWdsYXNzZXMgaW1nIHtcbiAgICBoZWlnaHQ6IDExMXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4OyB9XG4gIC5zY2hlbWEtZ2xhc3NlcyBwIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDsgfVxuICAuc2NoZW1hLWdsYXNzZXMgLnNjaGVtYS10b3RhbCwgLnNjaGVtYS1nbGFzc2VzIC5zY2hlbWEtdGVtcGxlLCAuc2NoZW1hLWdsYXNzZXMgLnNjaGVtYS1icmlkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkOyB9XG4gIC5zY2hlbWEtZ2xhc3NlcyAuc2NoZW1hLXRvdGFsIHNwYW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYnVuZGxlcy9hcHAvZ2xhc3NlczI0L2Fzc2V0cy9pbWcvc2NoZW1hLWdsYXNzZXMvc2NoZW1hLWFycm93LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgLnNjaGVtYS1nbGFzc2VzIC5zY2hlbWEtdGVtcGxlIHNwYW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYnVuZGxlcy9hcHAvZ2xhc3NlczI0L2Fzc2V0cy9pbWcvc2NoZW1hLWdsYXNzZXMvc2NoZW1hLWFycm93LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgLnNjaGVtYS1nbGFzc2VzIC5zY2hlbWEtbGVuc2VzIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuc2NoZW1hLWdsYXNzZXMgLnNjaGVtYS1sZW5zZXMgLnNjaGVtYS1sZW5zZXMtdmFsdWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICAgIC5zY2hlbWEtZ2xhc3NlcyAuc2NoZW1hLWxlbnNlcyAuc2NoZW1hLWxlbnNlcy12YWx1ZSAubGVucy1kZXB0aCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgIC5zY2hlbWEtZ2xhc3NlcyAuc2NoZW1hLWxlbnNlcyAuc2NoZW1hLWxlbnNlcy12YWx1ZSAubGVucy1kZXB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgLnNjaGVtYS1nbGFzc2VzIC5zY2hlbWEtbGVuc2VzIC5zY2hlbWEtbGVuc2VzLXZhbHVlIC5sZW5zLWRlcHRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfSB9XG4gICAgICAuc2NoZW1hLWdsYXNzZXMgLnNjaGVtYS1sZW5zZXMgLnNjaGVtYS1sZW5zZXMtdmFsdWUgLmxlbnMtd2lkdGgge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgICAgIC5zY2hlbWEtZ2xhc3NlcyAuc2NoZW1hLWxlbnNlcyAuc2NoZW1hLWxlbnNlcy12YWx1ZSAubGVucy13aWR0aCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgICAgICAuc2NoZW1hLWdsYXNzZXMgLnNjaGVtYS1sZW5zZXMgLnNjaGVtYS1sZW5zZXMtdmFsdWUgLmxlbnMtd2lkdGgge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7IH0gfVxuXG4ucmV2ZWFsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5yZXZlYWwuZnVsbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAyNHB4IDM2cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBjb2xvcjogIzAxOUJBRTsgfVxuICAgIC5yZXZlYWwuZnVsbCAuY2xvc2UtYnV0dG9uOmhvdmVyLCAucmV2ZWFsLmZ1bGwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgICBjb2xvcjogIzAxOUJBRTsgfVxuXG4jdmlld1NpemVDaGFydE1vZGFsIHtcbiAgd2lkdGg6IDk2OHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmctbGVmdDogOTNweDtcbiAgcGFkZGluZy1yaWdodDogOTNweDtcbiAgbWFyZ2luLWJvdHRvbTogOTNweDtcbiAgcGFkZGluZy1ib3R0b206IDkzcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAjdmlld1NpemVDaGFydE1vZGFsIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYlO1xuICAgICAgcGFkZGluZy1yaWdodDogNiU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgI3ZpZXdTaXplQ2hhcnRNb2RhbCB7XG4gICAgICB3aWR0aDogOTUlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA2JTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgI3ZpZXdTaXplQ2hhcnRNb2RhbCAuaGVhZGxpbmUge1xuICAgIGNvbG9yOiAjQzhDOEM4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAjdmlld1NpemVDaGFydE1vZGFsIC50ZXh0LW91ci1mcmFtZS1zaXplIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAjdmlld1NpemVDaGFydE1vZGFsIC5pbWctb3VyLXNpemUtY2hhcnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICN2aWV3U2l6ZUNoYXJ0TW9kYWwgLmltZy1vdXItc2l6ZS1jaGFydCBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICN2aWV3U2l6ZUNoYXJ0TW9kYWwgLnRleHQtbXktZnJhbWUtc2l6ZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIycHg7XG4gICAgcGFkZGluZy10b3A6IDY1cHg7IH1cbiAgI3ZpZXdTaXplQ2hhcnRNb2RhbCAuaW1nLW15LXNpemUtY2hhcnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICN2aWV3U2l6ZUNoYXJ0TW9kYWwgLmltZy1teS1zaXplLWNoYXJ0IGltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9XG4gICN2aWV3U2l6ZUNoYXJ0TW9kYWwgLnRleHQtc2l6ZS1jaGFydC13aWR0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAjdmlld1NpemVDaGFydE1vZGFsIC50ZXh0LXNpemUtY2hhcnQtaGVpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAjdmlld1NpemVDaGFydE1vZGFsIC5pbnB1dC1teS1mcmFtZS13aWR0aCB7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgICN2aWV3U2l6ZUNoYXJ0TW9kYWwgLmlucHV0LW15LWZyYW1lLXdpZHRoIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44cmVtOyB9XG4gICAgI3ZpZXdTaXplQ2hhcnRNb2RhbCAuaW5wdXQtbXktZnJhbWUtd2lkdGggaW5wdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTUyOTM1ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICN2aWV3U2l6ZUNoYXJ0TW9kYWwgLmlucHV0LW15LWxlbnMtaGVpZ2h0IHtcbiAgICB3aWR0aDogNDUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgI3ZpZXdTaXplQ2hhcnRNb2RhbCAuaW5wdXQtbXktbGVucy1oZWlnaHQgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjhyZW07IH1cbiAgICAjdmlld1NpemVDaGFydE1vZGFsIC5pbnB1dC1teS1sZW5zLWhlaWdodCBpbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxNTI5MzUgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgI3ZpZXdTaXplQ2hhcnRNb2RhbCAucmVzdWx0LW15LXNpemUtY2hhcnQge1xuICAgIHdpZHRoOiA0NSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cblxuLmRlZmF1bHQtYWRkcmVzcyB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzE1MjkzNTtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmRlZmF1bHQtYWRkcmVzcyBoNCwgLmRlZmF1bHQtYWRkcmVzcyAuY2FyZHNfYmxvY2sgLmdyaWQteCAuY2VsbCAuY2FyZCAuY2FyZC1zZWN0aW9uIC50aXRsZSwgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAuZGVmYXVsdC1hZGRyZXNzIC50aXRsZSwgLmRlZmF1bHQtYWRkcmVzcyAuY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSwgLmNoZWNrb3V0X3N1bW1hcnkgLmRlZmF1bHQtYWRkcmVzcyAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1MjkzNTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxMHB4IDBweCAxMHB4IDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmRlZmF1bHQtYWRkcmVzcyAuYWRkcmVzcyB7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAuZGVmYXVsdC1hZGRyZXNzIC5hZGRyZXNzLWVkaXQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbWFyZ2luOiAxNXB4OyB9XG5cbi5hZGRyZXNzZXMgLm90aGVyLWFkZHJlc3Mge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5YWFjYjc7IH1cbiAgLmFkZHJlc3NlcyAub3RoZXItYWRkcmVzcyBoNCwgLmFkZHJlc3NlcyAub3RoZXItYWRkcmVzcyAuY2FyZHNfYmxvY2sgLmdyaWQteCAuY2VsbCAuY2FyZCAuY2FyZC1zZWN0aW9uIC50aXRsZSwgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAuYWRkcmVzc2VzIC5vdGhlci1hZGRyZXNzIC50aXRsZSwgLmFkZHJlc3NlcyAub3RoZXItYWRkcmVzcyAuY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSwgLmNoZWNrb3V0X3N1bW1hcnkgLmFkZHJlc3NlcyAub3RoZXItYWRkcmVzcyAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzlhYWNiNztcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxMHB4IDBweCAxMHB4IDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFkZHJlc3NlcyAub3RoZXItYWRkcmVzcyAuYWRkcmVzcyB7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAuYWRkcmVzc2VzIC5vdGhlci1hZGRyZXNzIC5vdGhlci1hZGRyZXNzLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwcHggMTVweCAxNXB4IDE1cHg7IH1cbiAgICAuYWRkcmVzc2VzIC5vdGhlci1hZGRyZXNzIC5vdGhlci1hZGRyZXNzLWJ1dHRvbiAuYWRkcmVzcy1yZW1vdmUge1xuICAgICAgY29sb3I6ICMxNTI5MzU7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5hZGRyZXNzZXMgLm90aGVyLWFkZHJlc3MgLm90aGVyLWFkZHJlc3MtYnV0dG9uIC5hZGRyZXNzLXJlbW92ZTpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgICAgICBjb250ZW50OiBcIlxcZjAxNFwiO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIC5hZGRyZXNzZXMgLm90aGVyLWFkZHJlc3MgLm90aGVyLWFkZHJlc3MtYnV0dG9uIC5hZGRyZXNzLWRlZmF1bHQge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5idXR0b24tYWRkLWFkZHJlc3Mge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5sZW5zLXZhbHVlLXByb2ZpbGVzIC5hY3RpdmUtbGVucy12YWx1ZS1wcm9maWxlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTUyOTM1O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAubGVucy12YWx1ZS1wcm9maWxlcyAuYWN0aXZlLWxlbnMtdmFsdWUtcHJvZmlsZSBoNCwgLmxlbnMtdmFsdWUtcHJvZmlsZXMgLmFjdGl2ZS1sZW5zLXZhbHVlLXByb2ZpbGUgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUsIC5jYXJkc19ibG9jayAuZ3JpZC14IC5jZWxsIC5jYXJkIC5jYXJkLXNlY3Rpb24gLmxlbnMtdmFsdWUtcHJvZmlsZXMgLmFjdGl2ZS1sZW5zLXZhbHVlLXByb2ZpbGUgLnRpdGxlLCAubGVucy12YWx1ZS1wcm9maWxlcyAuYWN0aXZlLWxlbnMtdmFsdWUtcHJvZmlsZSAuY2hlY2tvdXRfc3VtbWFyeSAuYWNjb3JkaW9uID4gLmFjY29yZGlvbi10aXRsZSwgLmNoZWNrb3V0X3N1bW1hcnkgLmxlbnMtdmFsdWUtcHJvZmlsZXMgLmFjdGl2ZS1sZW5zLXZhbHVlLXByb2ZpbGUgLmFjY29yZGlvbiA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTI5MzU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMTBweCAwcHggMTBweCAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sZW5zLXZhbHVlLXByb2ZpbGVzIC5hY3RpdmUtbGVucy12YWx1ZS1wcm9maWxlIC5sZW5zLXZhbHVlLXByb2ZpbGUge1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgLmxlbnMtdmFsdWUtcHJvZmlsZXMgLmFjdGl2ZS1sZW5zLXZhbHVlLXByb2ZpbGUgLmxlbnMtdmFsdWUtcHJvZmlsZS1lZGl0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIG1hcmdpbjogMTVweDsgfVxuXG4ubGVucy12YWx1ZS1wcm9maWxlcyAub3RoZXItbGVucy12YWx1ZS1wcm9maWxlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjOWFhY2I3OyB9XG4gIC5sZW5zLXZhbHVlLXByb2ZpbGVzIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUgaDQsIC5sZW5zLXZhbHVlLXByb2ZpbGVzIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQgLmNhcmQtc2VjdGlvbiAudGl0bGUsIC5jYXJkc19ibG9jayAuZ3JpZC14IC5jZWxsIC5jYXJkIC5jYXJkLXNlY3Rpb24gLmxlbnMtdmFsdWUtcHJvZmlsZXMgLm90aGVyLWxlbnMtdmFsdWUtcHJvZmlsZSAudGl0bGUsIC5sZW5zLXZhbHVlLXByb2ZpbGVzIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUgLmNoZWNrb3V0X3N1bW1hcnkgLmFjY29yZGlvbiA+IC5hY2NvcmRpb24tdGl0bGUsIC5jaGVja291dF9zdW1tYXJ5IC5sZW5zLXZhbHVlLXByb2ZpbGVzIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUgLmFjY29yZGlvbiA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5YWFjYjc7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMTBweCAwcHggMTBweCAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sZW5zLXZhbHVlLXByb2ZpbGVzIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUgLmxlbnMtdmFsdWUtcHJvZmlsZSB7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAubGVucy12YWx1ZS1wcm9maWxlcyAub3RoZXItbGVucy12YWx1ZS1wcm9maWxlIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUtYnV0dG9ucyB7XG4gICAgbWFyZ2luOiAwcHggMTVweCAxNXB4IDE1cHg7IH1cbiAgICAubGVucy12YWx1ZS1wcm9maWxlcyAub3RoZXItbGVucy12YWx1ZS1wcm9maWxlIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUtYnV0dG9ucyAubGVucy12YWx1ZS1wcm9maWxlLXJlbW92ZSB7XG4gICAgICBjb2xvcjogIzE1MjkzNTtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLmxlbnMtdmFsdWUtcHJvZmlsZXMgLm90aGVyLWxlbnMtdmFsdWUtcHJvZmlsZSAub3RoZXItbGVucy12YWx1ZS1wcm9maWxlLWJ1dHRvbnMgLmxlbnMtdmFsdWUtcHJvZmlsZS1yZW1vdmU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICAgICAgY29udGVudDogXCJcXGYwMTRcIjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAubGVucy12YWx1ZS1wcm9maWxlcyAub3RoZXItbGVucy12YWx1ZS1wcm9maWxlIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUtYnV0dG9ucyAubGVucy12YWx1ZS1wcm9maWxlLXVzZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubGVucy12YWx1ZS1wcm9maWxlcyAub3RoZXItbGVucy12YWx1ZS1wcm9maWxlIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUtYnV0dG9ucyAubGVucy12YWx1ZS1wcm9maWxlLWVkaXQge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgbWFyZ2luOiAxNXB4OyB9XG5cbi5idXR0b24tYWRkLWxlbnMtdmFsdWUtcHJvZmlsZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmxlbnMtdmFsdWUtcHJvZmlsZS1mb3JtIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzlhYWNiNzsgfVxuICAubGVucy12YWx1ZS1wcm9maWxlLWZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgLmxlbnMtdmFsdWUtcHJvZmlsZS1mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzVBNjg3MjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5sZW5zLXZhbHVlLXByb2ZpbGUtZm9ybSAubGVucy12YWx1ZS1wcm9maWxlLW5hbWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5YWFjYjc7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMTBweCAwcHggMTBweCAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmxlbnMtdmFsdWUtcHJvZmlsZS1mb3JtIC5sZW5zLXZhbHVlLXByb2ZpbGUtbmFtZSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubGVucy12YWx1ZS1wcm9maWxlLWZvcm0gLmxlbnMtdmFsdWUtcHJvZmlsZS1uYW1lIDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IGRpbWdyZXk7IH1cbiAgLmxlbnMtdmFsdWUtcHJvZmlsZS1mb3JtIC5mYWtlLXRhYmxlIC5maWVsZCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMzMzMzMzMzMzMzMzMyU7IH1cbiAgICAubGVucy12YWx1ZS1wcm9maWxlLWZvcm0gLmZha2UtdGFibGUgLmZpZWxkIHNwYW4ge1xuICAgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5jb29raWUtcG9saWN5X19jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDk5OTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIC5jb29raWUtcG9saWN5X19jb250YWluZXIuaGlkZGVuLCAuY29va2llLXBvbGljeV9fY29udGFpbmVyIC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvb2tpZS1wb2xpY3lfX2NvbnRhaW5lciAjanNzLWN1c3RvbWl6ZUNvb2tpZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29va2llLXBvbGljeV9fY29udGFpbmVyICNqc3MtY3VzdG9taXplQ29va2llcy5vcGVuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jb29raWUtcG9saWN5X19jb250YWluZXIgLmljb24tcXVlc3Rpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuICAgIC5jb29raWUtcG9saWN5X19jb250YWluZXIgLmljb24tcXVlc3Rpb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMjljXCI7XG4gICAgICBmb250LWZhbWlseTogJ2ljb21vb24nOyB9XG5cbi5jb29raWUtcG9saWN5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDFyZW0gMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjEsIDQxLCA1MywgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwMTlCQUU7IH1cbiAgLmNvb2tpZS1wb2xpY3kgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNvb2tpZS1wb2xpY3kgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29va2llLXBvbGljeV9fdGl0bGUge1xuICBjb2xvcjogIzAxOUJBRTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uY29va2llLXBvbGljeV9fbWVzc2FnZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLmNvb2tpZS1wb2xpY3lfX2xpbmsge1xuICBjb2xvcjogIzAxOUJBRTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjsgfVxuXG4uY29va2llLXBvbGljeV9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNvb2tpZS1wb2xpY3lfX2J1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uY29va2llLXBvbGljeV9fYnV0dG9uLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxOUJBRTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmNvb2tpZS1wb2xpY3lfX2J1dHRvbi0tcHJpbWFyeTpob3ZlciwgLmNvb2tpZS1wb2xpY3lfX2J1dHRvbi0tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwODNBOTtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uY29va2llLXBvbGljeV9fYnV0dG9uLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhDOEM4O1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY29va2llLXBvbGljeV9fYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIsIC5jb29raWUtcG9saWN5X19idXR0b24tLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVBNjg3MjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY29va2llLXBvbGljeV9fb3B0aW9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uY29va2llLXBvbGljeV9fb3B0aW9uIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb29raWUtcG9saWN5X19vcHRpb246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7IH0gfVxuXG4uY29va2llLXBvbGljeV9fbmFtZSB7XG4gIG1pbi13aWR0aDogMTcwcHg7IH1cblxuLmNvb2tpZS1wb2xpY3lfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKiBDb21wb25lbnQgVHJ5b24gUkV2ZWFsIFBvcHVwKi9cbmEuanNlLXRyeW9uLWFjdGlvbi1vbi1pbWFnZTpob3ZlcjpiZWZvcmUsIC5hY3RpdmUtdXNlci1waWM6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgY29udGVudDogXCJcXGYwNWRcIjtcbiAgZm9udC1zaXplOiA0LjEyNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBhLmpzZS10cnlvbi1hY3Rpb24tb24taW1hZ2U6aG92ZXI6YmVmb3JlLCAuYWN0aXZlLXVzZXItcGljOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDQuMTI1cmVtOyB9IH1cblxuLnRyeW9uUmV2ZWFsIGEuanNlLXRyeW9uLWFjdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIG1hcmdpbjogMDsgfVxuICAudHJ5b25SZXZlYWwgYS5qc2UtdHJ5b24tYWN0aW9uLmRlbGV0ZSB7XG4gICAgY29sb3I6ICNEQzVFNUU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuLnRyeW9uUmV2ZWFsIGEuanNlLXRyeW9uLWFjdGlvbi1vbi1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi50cnlvblJldmVhbCBhLmpzZS10cnlvbi1hY3Rpb24tb24taW1hZ2U6aG92ZXI6YmVmb3JlLCAudHJ5b25SZXZlYWwgLmFjdGl2ZS11c2VyLXBpYzpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICBjb250ZW50OiBcIlxcZjA1ZFwiO1xuICBmb250LXNpemU6IDQuMTI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4udHJ5b25SZXZlYWwgaHIge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi50cnlvblJldmVhbCAuanNkLXVzZXJwaWNUcnlvbkZvdG9zIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnRyeW9uUmV2ZWFsIC5qc2QtdXNlcnBpY1RyeW9uRm90b3MgLnBlcnNvbmFscGljdHVyZXMsXG4gIC50cnlvblJldmVhbCAuanNkLXVzZXJwaWNUcnlvbkZvdG9zIC5leGFtcGxlcGljdHVyZXMge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4udHJ5b25SZXZlYWwgLnRyeW9uLXBpYy1zbWFsbCB7XG4gIG1heC13aWR0aDogOS4zNzVyZW07XG4gIG1heC1oZWlnaHQ6IDcuNXJlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4udHJ5b25SZXZlYWwgLnVzZXJwaWNUcnlvblNlbGVjdGlvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLnRyeW9uUmV2ZWFsIGJ1dHRvbiB7XG4gIG1heC13aWR0aDogMjguMTI1cmVtO1xuICBtaW4td2lkdGg6IDIxLjg3NXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi50cnlvblJldmVhbCAuanNlLXNldC1sZWZ0LWV5ZSwgLnRyeW9uUmV2ZWFsIC5qc2Utc2V0LXJpZ2h0LWV5ZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAxLCAwLjUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy8yZHRyeW9uL2Nyb3NzODB4ODAucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47IH1cbiAgLnRyeW9uUmV2ZWFsIC5qc2Utc2V0LWxlZnQtZXllIC5leWUtZGVzY3JpcHRpb24sIC50cnlvblJldmVhbCAuanNlLXNldC1yaWdodC1leWUgLmV5ZS1kZXNjcmlwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDBweDtcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiBncmV5OyB9XG5cbi50cnlvblJldmVhbCAuanNlLXNldC1sZWZ0LWV5ZSB7XG4gIGxlZnQ6IDE0MHB4O1xuICB0b3A6IDIwMHB4OyB9XG5cbi50cnlvblJldmVhbCAuanNlLXNldC1yaWdodC1leWUge1xuICBsZWZ0OiA0NDBweDtcbiAgdG9wOiAyMDBweDsgfVxuXG4udHJ5b25SZXZlYWwgLmFqYXhMb2FkZXJDaXJjbGUge1xuICBtaW4taGVpZ2h0OiAyMHJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRyeW9uUmV2ZWFsIC5hamF4TG9hZGVyQ2lyY2xlOmJlZm9yZSB7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gMTIwcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICBjb250ZW50OiBcIlxcZTk4MlwiO1xuICBmb250LXNpemU6IDE1cmVtO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiA0cyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBzcGluIDRzIGxpbmVhciBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBzcGluIDRzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5ALW1vei1rZXlmcmFtZXMgc3BpbiB7XG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uaWNvbi10cnlvbi51c2VycGljVHJ5b24uanNlLXRyeW9uLWdvdG9zdGVwLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDI4cHg7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmljb24tdHJ5b24udXNlcnBpY1RyeW9uLmpzZS10cnlvbi1nb3Rvc3RlcC1idXR0b24gLnRyeW9uLWJ1dHRvbi1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi50cnlvbi1wdi1hcnJvd3Mge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiA3NXB4O1xuICBmb250LXNpemU6IDI4cHg7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAudHJ5b24tcHYtYXJyb3dzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4udHJ5b24tcHYtYXJyb3dzIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogNzVweDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnRyeW9uLXB2LWFycm93cyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLnRyeW9uLXB2LXZpZXcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoOTclKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRyeW9uLXB2LXZpZXcge1xuICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAudHJ5b24tcHYtdmlldyAuanMtcHYtdHJ5b24taW1hZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudHJ5b24tcHYtdmlldyAuanMtcHYtdHJ5b24taW1hZ2UgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLnRyeW9uLXB2LXZpZXcgLnByZWxvYWQtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDUwcHg7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi50cnlvbi1wdi1hcnJvd3Mge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgLnRyeW9uLXB2LWFycm93cyAjanNkLXB2LXRyeW9uLWltYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRyeW9uLXB2LWFycm93cyAjanNkLXB2LXRyeW9uLWltYWdlcyB7XG4gICAgICAgIG1hcmdpbjogMCAwLjVyZW07IH0gfVxuICAgIC50cnlvbi1wdi1hcnJvd3MgI2pzZC1wdi10cnlvbi1pbWFnZXMgLnVzZXJwaWNUcnlvblNlbGVjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICBmbGV4OiAxIDAgY2FsYygyNSUgLSAxcmVtKTsgfVxuICAgICAgLnRyeW9uLXB2LWFycm93cyAjanNkLXB2LXRyeW9uLWltYWdlcyAudXNlcnBpY1RyeW9uU2VsZWN0aW9uIC5wdi10cnlvbi1pbWFnZXMtaXRlbS1kZWxldGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAudHJ5b24tcHYtYXJyb3dzICNqc2QtcHYtdHJ5b24taW1hZ2VzIC51c2VycGljVHJ5b25TZWxlY3Rpb24uaXMtaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnRyeW9uLXB2LWFycm93cyAjanNkLXB2LXRyeW9uLWltYWdlcyAudXNlcnBpY1RyeW9uU2VsZWN0aW9uIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE2MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxNjBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgICAgIC50cnlvbi1wdi1hcnJvd3MgI2pzZC1wdi10cnlvbi1pbWFnZXMgLnVzZXJwaWNUcnlvblNlbGVjdGlvbiAuY2VsbC5tZWRpdW0tYXV0byB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgLnRyeW9uLXB2LWFycm93cyAjanNkLXB2LXRyeW9uLWltYWdlcyAudXNlcnBpY1RyeW9uU2VsZWN0aW9uIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICAudHJ5b24tcHYtYXJyb3dzICNqc2QtcHYtdHJ5b24taW1hZ2VzIC51c2VycGljVHJ5b25TZWxlY3Rpb24gYTpob3ZlciB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgLnRyeW9uLXB2LWFycm93cyAjanNkLXB2LXRyeW9uLWltYWdlcyAudXNlcnBpY1RyeW9uU2VsZWN0aW9uIGE6OmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLnRyeW9uLXB2LWFycm93cyAjanNkLXB2LXRyeW9uLWltYWdlcyAudXNlcnBpY1RyeW9uU2VsZWN0aW9uIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMCU7IH0gfVxuICAudHJ5b24tcHYtYXJyb3dzICNqc2UtdHJ5b25QdkFycm93TmV4dCwgLnRyeW9uLXB2LWFycm93cyAjanNlLXRyeW9uUHZBcnJvd1ByZXYge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MCU7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC50cnlvbi1wdi1hcnJvd3MgI2pzZS10cnlvblB2QXJyb3dOZXh0OmhvdmVyLCAudHJ5b24tcHYtYXJyb3dzICNqc2UtdHJ5b25QdkFycm93UHJldjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXM7IH1cbiAgLnRyeW9uLXB2LWFycm93cyAjanNlLXRyeW9uUHZBcnJvd05leHQge1xuICAgIHJpZ2h0OiAwOyB9XG4gIC50cnlvbi1wdi1hcnJvd3MgI2pzZS10cnlvblB2QXJyb3dQcmV2IHtcbiAgICBsZWZ0OiAwOyB9XG4gIC50cnlvbi1wdi1hcnJvd3MgLnNob3dMb2FkZXIgLmlzLWxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICB6LWluZGV4OiA5OTk7IH1cblxuLmNvbnRlbnQtcHJvZHVjdC1waWN0dXJlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDIwcHg7IH1cblxuLm1lbnUtZ2FsbGVyeTJ0cnlvbiB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTsgfVxuICAubWVudS1nYWxsZXJ5MnRyeW9uIC5tZW51LWFjdGl2ZWdhbGxlcnksXG4gIC5tZW51LWdhbGxlcnkydHJ5b24gLnRyeW9ub25saW5lIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAubWVudS1nYWxsZXJ5MnRyeW9uIC5tZW51LWFjdGl2ZWdhbGxlcnkgc3BhbixcbiAgICAubWVudS1nYWxsZXJ5MnRyeW9uIC50cnlvbm9ubGluZSBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubWVudS1hY3RpdmVnYWxsZXJ5IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi50cnlvbm9ubGluZSA+IGxhYmVsLCAudXNlcnBpY1RyeW9uID4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uc2hhcmVidXR0b25mIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5QRFRPT0xGT0xERVIge1xuICAvKiBVcGRhdGUgMDUvMjAxOSAqL1xuICAvKnRoZSBib3ggaW4gcHYqLyB9XG4gIC5QRFRPT0xGT0xERVIuanNzLXBkVG9vbEltYWdlU2VsZWN0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLlBEVE9PTEZPTERFUiAucGR0b29sLS1jb250ZW50LXVwbG9hZC1maWxlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuUERUT09MRk9MREVSIGgyLmludHJvUGR0b29sLCAuUERUT09MRk9MREVSICNjYXJ0LWNvbnRhaW5lciBoMi5pbnRyb1BkdG9vbCwgI2NhcnQtY29udGFpbmVyIC5QRFRPT0xGT0xERVIgaDIuaW50cm9QZHRvb2wge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3Mge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3MgLnBkdG9vbC0tdmlldyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuUERUT09MRk9MREVSIC5wZHRvb2wtLXZpZXdzIC5wZHRvb2wtLXZpZXcuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3MgLnBkdG9vbC0tdmlldyAucGR0b29sLS1oZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLlBEVE9PTEZPTERFUiAucGR0b29sLS12aWV3cyAucGR0b29sLS12aWV3IC5wZHRvb2wtLWhlYWRlciBoMyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLlBEVE9PTEZPTERFUiAucGR0b29sLS12aWV3cyAucGR0b29sLS12aWV3IGhyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgLlBEVE9PTEZPTERFUiAucGR0b29sLS12aWV3cyAucGR0b29sLS12aWV3IC5wZHRvb2wtLWNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLlBEVE9PTEZPTERFUiAucGR0b29sLS12aWV3cyAucGR0b29sLS12aWV3IC5wZHRvb2wtLWNvbnRlbnQgaDQsIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3MgLnBkdG9vbC0tdmlldyAucGR0b29sLS1jb250ZW50IC5jYXJkc19ibG9jayAuZ3JpZC14IC5jZWxsIC5jYXJkIC5jYXJkLXNlY3Rpb24gLnRpdGxlLCAuY2FyZHNfYmxvY2sgLmdyaWQteCAuY2VsbCAuY2FyZCAuY2FyZC1zZWN0aW9uIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3MgLnBkdG9vbC0tdmlldyAucGR0b29sLS1jb250ZW50IC50aXRsZSwgLlBEVE9PTEZPTERFUiAucGR0b29sLS12aWV3cyAucGR0b29sLS12aWV3IC5wZHRvb2wtLWNvbnRlbnQgLmNoZWNrb3V0X3N1bW1hcnkgLmFjY29yZGlvbiA+IC5hY2NvcmRpb24tdGl0bGUsIC5jaGVja291dF9zdW1tYXJ5IC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3MgLnBkdG9vbC0tdmlldyAucGR0b29sLS1jb250ZW50IC5hY2NvcmRpb24gPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLlBEVE9PTEZPTERFUiAucGR0b29sLS12aWV3cyAucGR0b29sLS12aWV3IC5wZHRvb2wtLWNvbnRlbnQgLnBkdG9vbC0tZGVmYXVsdC1saXN0IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMzBweDsgfVxuICAgICAgICAuUERUT09MRk9MREVSIC5wZHRvb2wtLXZpZXdzIC5wZHRvb2wtLXZpZXcgLnBkdG9vbC0tY29udGVudCAjcGR0b29sLS1jb250ZW50LXZpZGVvLWhvbGRlcixcbiAgICAgICAgLlBEVE9PTEZPTERFUiAucGR0b29sLS12aWV3cyAucGR0b29sLS12aWV3IC5wZHRvb2wtLWNvbnRlbnQgI3BkdG9vbC0tY29udGVudC1yZXN1bHQtaG9sZGVyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3MgLnBkdG9vbC0tdmlldyBjYW52YXMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2OyB9XG4gICAgICAuUERUT09MRk9MREVSIC5wZHRvb2wtLXZpZXdzIC5wZHRvb2wtLXZpZXcgLmJ0biB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tdmlld3MgLnBkdG9vbC0tdmlldyAuYnRuLnBkdG9vbC0tYnRuLXNlY29uZGFyeSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLlBEVE9PTEZPTERFUiAudXBsb2FkLXBkVG9vbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIHdpZHRoOiAxMjBweDsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnVwbG9hZC1wZFRvb2wgLmljb24taW1hZ2U6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnVwbG9hZC1wZFRvb2wgLmljb24taW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gICAgLlBEVE9PTEZPTERFUiAudXBsb2FkLXBkVG9vbCAuaWNvbi1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cbiAgICAuUERUT09MRk9MREVSIC51cGxvYWQtcGRUb29sIC5pY29uLXF1ZXN0aW9uLWNpcmNsZS1vOjpiZWZvcmUsIC5QRFRPT0xGT0xERVIgLnVwbG9hZC1wZFRvb2wgLmhlbHBlci1pY29uOjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgLlBEVE9PTEZPTERFUiAudXBsb2FkLXBkVG9vbCAuaWNvbi1xdWVzdGlvbi1jaXJjbGUtbywgLlBEVE9PTEZPTERFUiAudXBsb2FkLXBkVG9vbCAuaGVscGVyLWljb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gIC5QRFRPT0xGT0xERVIgLnBkdG9vbC0tZm9vdGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5QRFRPT0xGT0xERVIgLnBkdG9vbC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnBkdG9vbC1idXR0b24gLmljb24taW1hZ2U6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnBkdG9vbC1idXR0b24gLmljb24taW1hZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gICAgLlBEVE9PTEZPTERFUiAucGR0b29sLWJ1dHRvbiAuaWNvbi13ZWJjYW06YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnBkdG9vbC1idXR0b24gLmljb24td2ViY2FtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnBkdG9vbC1idXR0b24gLmljb24tY2FyZXQtcmlnaHQ6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnBkdG9vbC1idXR0b24gLmljb24tcmlnaHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gIC5QRFRPT0xGT0xERVIgLnVwbG9hZC1wZFRvb2wtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzNENzBCMjsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnVwbG9hZC1wZFRvb2wtaXRlbSAjanNkLXBkVG9vbC11cGxvYWQtaXRlbS10ZXh0IHtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgcGFkZGluZzogNXB4OyB9XG4gICAgLlBEVE9PTEZPTERFUiAudXBsb2FkLXBkVG9vbC1pdGVtIC5pY29uLXRpbWVzLWNpcmNsZS1vIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgIHJpZ2h0OiAtMTBweDsgfVxuICAgICAgLlBEVE9PTEZPTERFUiAudXBsb2FkLXBkVG9vbC1pdGVtIC5pY29uLXRpbWVzLWNpcmNsZS1vLmhhcy10aXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5QRFRPT0xGT0xERVIgLnVwbG9hZC1wZFRvb2wtaXRlbSAuaWNvbi10aW1lcy1jaXJjbGUtbzpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW0gIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLnJlU3VibWl0UGRUYXNrIC51cGxvYWQtcGRUb29sLWl0ZW0ge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jYXJkc19ibG9jayB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmNhcmRzX2Jsb2NrIC5ncmlkLXggLmNlbGwgLmNhcmQge1xuICAgIGJhY2tncm91bmQ6ICNGQkZCRkI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0VBRUFFQTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5jYXJkc19ibG9jayAuZ3JpZC14IC5jZWxsIC5jYXJkIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMC41cmVtIDFyZW0gMC44cmVtOyB9XG4gICAgICAuY2FyZHNfYmxvY2sgLmdyaWQteCAuY2VsbCAuY2FyZCAuY2FyZC1zZWN0aW9uIC50aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbGV4LWJveC1jb250YWluZXIgLmNlbGwgPiAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogMzIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mbGV4LWJveC1jb250YWluZXIgLmNlbGwgPiAqIHtcbiAgICAgIGhlaWdodDogNDIwcHg7IH0gfVxuICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsID4gKiBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsID4gKiAuZmxleC1ib3gtY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogMjA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsID4gKiAuZmxleC1ib3gtY29udGVudCB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZzogMCAwcHg7IH0gfVxuICAgIC5mbGV4LWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50IGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsID4gKiAuZmxleC1ib3gtY29udGVudCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmZsZXgtYm94LWNvbnRhaW5lciAuY2VsbCA+ICogLmZsZXgtYm94LWNvbnRlbnQgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgfSB9XG4gICAgICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsID4gKiAuZmxleC1ib3gtY29udGVudCBoMzpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsZXgtYm94LWNvbnRhaW5lciAuY2VsbCA+ICogLmZsZXgtYm94LWNvbnRlbnQgcCB7XG4gICAgICBtYXJnaW46IDAgMCAwO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mbGV4LWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50IHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mbGV4LWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50IHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZsZXgtYm94LWNvbnRhaW5lciAuY2VsbC5jYXB0aW9uLXRvcCAuZmxleC1ib3gtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDsgfVxuICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsLmNhcHRpb24tYm90dG9tIC5mbGV4LWJveC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMHB4OyB9XG4gIC5mbGV4LWJveC1jb250YWluZXIgLmNlbGwuY2FwdGlvbi1jZW50ZXIgLmZsZXgtYm94LWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLmZsZXgtYm94LWNvbnRhaW5lciAuY2VsbC5jYXB0aW9uLW1pZGRsZSAuZmxleC1ib3gtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsLmNhcHRpb24tY2VudGVyLmNhcHRpb24tbWlkZGxlIC5mbGV4LWJveC1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsLmNhcHRpb24tbGVmdCAuZmxleC1ib3gtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgbGVmdDogMjBweDsgfVxuICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsLmNhcHRpb24tcmlnaHQgLmZsZXgtYm94LWNvbnRlbnQge1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiA0MCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsLmNhcHRpb24tNjBwYyAuZmxleC1ib3gtY29udGVudCB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAuZmxleC1ib3gtY29udGFpbmVyIC5jZWxsLmNhcHRpb24tODBwYyAuZmxleC1ib3gtY29udGVudCB7XG4gICAgd2lkdGg6IDgwJTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERFU0NSSVBUSU9OIEhFQURFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhZ2UtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICBtaW4taGVpZ2h0OiAzMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgbWluLWhlaWdodDogMzQwcHg7IH0gfVxuICAucGFnZS1oZWFkZXIgLmltZy1jb250ZW50IHtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtaGVhZGVyIC5pbWctY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgIC5wYWdlLWhlYWRlciAuaW1nLWNvbnRlbnQgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIC5wYWdlLWhlYWRlciAuaW1nLWNvbnRlbnQgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgdG9wOiAwOyB9IH1cbiAgLnBhZ2UtaGVhZGVyIC5jYXRlZ29yeS10aXRsZS1jb250ZW50IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIC4zcztcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2UtaGVhZGVyIC5jYXRlZ29yeS10aXRsZS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICAgIC5wYWdlLWhlYWRlciAuY2F0ZWdvcnktdGl0bGUtY29udGVudCBoMSB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlLWhlYWRlciAuY2F0ZWdvcnktdGl0bGUtY29udGVudCBoMSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZS1oZWFkZXIgLmNhdGVnb3J5LXRpdGxlLWNvbnRlbnQgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAgIC5wYWdlLWhlYWRlciAuY2F0ZWdvcnktdGl0bGUtY29udGVudCAuY2F0ZWdvcnktZGVzY3JpcHRpb24tY29udGVudCAuY2F0ZWdvcnktZGVzY3JpcHRpb24gcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8qIEZhbGxiYWNrIGZvciBub24td2Via2l0ICovXG4gICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgIGhlaWdodDogMzIuMTZweDtcbiAgICAgIC8qIEZhbGxiYWNrIGZvciBub24td2Via2l0ICovXG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM0O1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucGFnZS1oZWFkZXIgLmNhdGVnb3J5LXRpdGxlLWNvbnRlbnQgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLWNvbnRlbnQgLmNhdGVnb3J5LWRlc2NyaXB0aW9uIHAge1xuICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAvKiBGYWxsYmFjayBmb3Igbm9uLXdlYmtpdCAqL1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7IH0gfVxuICAgIC5wYWdlLWhlYWRlciAuY2F0ZWdvcnktdGl0bGUtY29udGVudCAuY2F0ZWdvcnktZGVzY3JpcHRpb24tY29udGVudCAuYnRuLWluZm8ge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgICAucGFnZS1oZWFkZXIgLmNhdGVnb3J5LXRpdGxlLWNvbnRlbnQgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLWNvbnRlbnQgLmJ0bi1pbmZvIHtcbiAgICAgICAgICBjb2xvcjogIzNENzBCMjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG4gICAgICAucGFnZS1oZWFkZXIgLmNhdGVnb3J5LXRpdGxlLWNvbnRlbnQgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLWNvbnRlbnQgLmJ0bi1pbmZvIHNwYW4ubW9yZS1pbmZvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5wYWdlLWhlYWRlciAuY2F0ZWdvcnktdGl0bGUtY29udGVudCAuY2F0ZWdvcnktZGVzY3JpcHRpb24tY29udGVudCAuYnRuLWluZm8gc3Bhbi5sZXNzLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLWhlYWRlciAuY2F0ZWdvcnktdGl0bGUtY29udGVudC5kZXNjcmlwdGlvbi10b2dnbGVyIC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1jb250ZW50IC5jYXRlZ29yeS1kZXNjcmlwdGlvbiBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLnBhZ2UtaGVhZGVyIC5jYXRlZ29yeS10aXRsZS1jb250ZW50LmRlc2NyaXB0aW9uLXRvZ2dsZXIgLmNhdGVnb3J5LWRlc2NyaXB0aW9uLWNvbnRlbnQgLmJ0bi1pbmZvIHNwYW4ubW9yZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLWhlYWRlciAuY2F0ZWdvcnktdGl0bGUtY29udGVudC5kZXNjcmlwdGlvbi10b2dnbGVyIC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1jb250ZW50IC5idG4taW5mbyBzcGFuLmxlc3MtaW5mbyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWdlLWhlYWRlciAuY2F0ZWdvcnktdGl0bGUtY29udGVudC5kZXNjcmlwdGlvbi10b2dnbGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTVweDsgfSB9XG5cbi5pbWFnZXNfd2l0aF9saW5rcyBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmltYWdlc193aXRoX2xpbmtzIGEgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGVhc2UtaW4tb3V0OyB9XG4gIC5pbWFnZXNfd2l0aF9saW5rcyBhOmhvdmVyIGltZywgLmltYWdlc193aXRoX2xpbmtzIGE6Zm9jdXMgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgLmltYWdlc193aXRoX2xpbmtzIGE6aG92ZXIgLmxhYmVsLCAuaW1hZ2VzX3dpdGhfbGlua3MgYTpmb2N1cyAubGFiZWwge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQ6ICMxNTI5MzU7IH1cblxuLmltYWdlc193aXRoX2xpbmtzIC5sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjEsIDQzLCA1NSwgMC43NSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQ7IH1cblxuLmltYWdlX2Jsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW1hZ2VfYmxvY2sgLmltYWdlLWNvbnRhaW5lciBzcGFuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5idXR0b25zLWxpbmUgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5idXR0b25zLWxpbmUgdWwgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuYnV0dG9ucy1saW5lIHVsIGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICAgICAgbWluLXdpZHRoOiAwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgICAuYnV0dG9ucy1saW5lIHVsIGxpIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE1MjkzNTtcbiAgICAgIGNvbG9yOiAjMTUyOTM1O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbnMtbGluZSB1bCBsaSBhIHtcbiAgICAgICAgb3V0bGluZTogMDsgfVxuICAgICAgLmJ1dHRvbnMtbGluZSB1bCBsaSBhLCAuYnV0dG9ucy1saW5lIHVsIGxpIGE6aG92ZXIsIC5idXR0b25zLWxpbmUgdWwgbGkgYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuYnV0dG9ucy1saW5lIHVsIGxpIGEuZGlzYWJsZWQsIC5idXR0b25zLWxpbmUgdWwgbGkgYS5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbnMtbGluZSB1bCBsaSBhLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9ucy1saW5lIHVsIGxpIGFbZGlzYWJsZWRdLCAuYnV0dG9ucy1saW5lIHVsIGxpIGFbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9ucy1saW5lIHVsIGxpIGFbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5idXR0b25zLWxpbmUgdWwgbGkgYTpob3ZlciwgLmJ1dHRvbnMtbGluZSB1bCBsaSBhOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGIxNTFiO1xuICAgICAgICBjb2xvcjogIzBiMTUxYjsgfVxuICAgICAgICAuYnV0dG9ucy1saW5lIHVsIGxpIGE6aG92ZXIuZGlzYWJsZWQsIC5idXR0b25zLWxpbmUgdWwgbGkgYTpob3ZlcltkaXNhYmxlZF0sIC5idXR0b25zLWxpbmUgdWwgbGkgYTpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbnMtbGluZSB1bCBsaSBhOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE1MjkzNTtcbiAgICAgICAgICBjb2xvcjogIzE1MjkzNTsgfVxuXG4ubmV3c2xldHRlci1ib3gtY29udGFpbmVyIC5jZWxsID4gKiAuZmxleC1ib3gtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0b3A6IDMwJTsgfVxuICAubmV3c2xldHRlci1ib3gtY29udGFpbmVyIC5jZWxsID4gKiAuZmxleC1ib3gtY29udGVudCBmb3JtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gICAgLm5ld3NsZXR0ZXItYm94LWNvbnRhaW5lciAuY2VsbCA+ICogLmZsZXgtYm94LWNvbnRlbnQgZm9ybSAuaW5wdXQtYm94IHtcbiAgICAgIHdpZHRoOiAzNSU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgIC5uZXdzbGV0dGVyLWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50IGZvcm0gLmlucHV0LWJveCB7XG4gICAgICAgICAgd2lkdGg6IDQ4JTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgIC5uZXdzbGV0dGVyLWJveC1jb250YWluZXIgLmNlbGwgPiAqIC5mbGV4LWJveC1jb250ZW50IGZvcm0gLmlucHV0LWJveCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2xpZGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5zbGlkZXItY29udGFpbmVyIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LWNhcHRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2xpZGVyLWNvbnRhaW5lciAub3JiaXQtY2FwdGlvbiB7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBsZWZ0OiAwcHg7IH0gfVxuICAgIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1jYXB0aW9uIC5vcmJpdC1jYXB0aW9uLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LWNhcHRpb24gLm9yYml0LWNhcHRpb24tY29udGVudCAuc3VydGl0bGUsXG4gICAgICAuc2xpZGVyLWNvbnRhaW5lciAub3JiaXQtY2FwdGlvbiAub3JiaXQtY2FwdGlvbi1jb250ZW50IC50aXRsZSxcbiAgICAgIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1jYXB0aW9uIC5vcmJpdC1jYXB0aW9uLWNvbnRlbnQgLnN1YnRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1jYXB0aW9uIC5vcmJpdC1jYXB0aW9uLWNvbnRlbnQgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlIC5zdXJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlIC5zdXJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlIC5zdXJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTsgfSB9XG4gIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1zbGlkZSAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNC4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0LjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4ycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuc2xpZGVyLWNvbnRhaW5lciAub3JiaXQtc2xpZGUgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjJyZW07IH0gfVxuICAuc2xpZGVyLWNvbnRhaW5lciAub3JiaXQtc2xpZGUgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogM3JlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAuc2xpZGVyLWNvbnRhaW5lciAub3JiaXQtc2xpZGUgLnN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4ycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAuc2xpZGVyLWNvbnRhaW5lciAub3JiaXQtc2xpZGUgLnN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4ycmVtOyB9IH1cbiAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlLnN1cnRpdGxlLWRhcmsgLnN1cnRpdGxlIHtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAuc2xpZGVyLWNvbnRhaW5lciAub3JiaXQtc2xpZGUudGl0bGUtZGFyayAudGl0bGUge1xuICAgIGNvbG9yOiAjMTUyOTM1OyB9XG4gIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1zbGlkZS5zdWJ0aXRsZS1kYXJrIC5zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICMxNTI5MzU7IH1cbiAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlLnN1cnRpdGxlLWxpZ2h0IC5zdXJ0aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlLnRpdGxlLWxpZ2h0IC50aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlLnN1YnRpdGxlLWxpZ2h0IC5zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1zbGlkZS5jYXB0aW9uLXRvcCAub3JiaXQtY2FwdGlvbiAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgIHRvcDogNTBweDsgfVxuICAgIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1zbGlkZS5jYXB0aW9uLWJvdHRvbSAub3JiaXQtY2FwdGlvbiAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgIGJvdHRvbTogNTBweDsgfVxuICAgIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1zbGlkZS5jYXB0aW9uLWNlbnRlciAub3JiaXQtY2FwdGlvbiAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1zbGlkZS5jYXB0aW9uLW1pZGRsZSAub3JiaXQtY2FwdGlvbiAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlLmNhcHRpb24tY2VudGVyLmNhcHRpb24tbWlkZGxlIC5vcmJpdC1jYXB0aW9uIC5vcmJpdC1jYXB0aW9uLWNvbnRlbnQge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1zbGlkZS5jYXB0aW9uLWxlZnQgLm9yYml0LWNhcHRpb24gLm9yYml0LWNhcHRpb24tY29udGVudCB7XG4gICAgICBsZWZ0OiAxMDBweDsgfVxuICAgIC5zbGlkZXItY29udGFpbmVyIC5vcmJpdC1zbGlkZS5jYXB0aW9uLXJpZ2h0IC5vcmJpdC1jYXB0aW9uIC5vcmJpdC1jYXB0aW9uLWNvbnRlbnQge1xuICAgICAgcmlnaHQ6IDEwMHB4OyB9XG4gICAgLnNsaWRlci1jb250YWluZXIgLm9yYml0LXNsaWRlLmNhcHRpb24tMzBwYyAub3JiaXQtY2FwdGlvbiAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAzMCU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUaXRsZSBCbG9ja1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRpdGxlX2Jsb2NrIC5jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGl0bGVfYmxvY2sgLmNlbGwge1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnRpdGxlX2Jsb2NrIGgyLCAudGl0bGVfYmxvY2sgI2NhcnQtY29udGFpbmVyIGgyLCAjY2FydC1jb250YWluZXIgLnRpdGxlX2Jsb2NrIGgyIHtcbiAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnRpdGxlX2Jsb2NrIGgyLCAudGl0bGVfYmxvY2sgI2NhcnQtY29udGFpbmVyIGgyLCAjY2FydC1jb250YWluZXIgLnRpdGxlX2Jsb2NrIGgyIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuLnRpdGxlX2Jsb2NrIGEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAudGl0bGVfYmxvY2sgYSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBvcmRlcjogMztcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGl0bGVfYmxvY2sgYSB7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogIzE1MjkzNTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgICAgIC50aXRsZV9ibG9jayBhOmFmdGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDYxXCI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAgIC50aXRsZV9ibG9jayBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMTlCQUU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC50aXRsZV9ibG9jayAudGV4dC1pbnRybyB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG4vKkFuaW1hdGlvbiBvZiB0aGUgY3VzdG9tZXItYnV0dG9uLXN1Ym1lbnUqL1xuYm9keS50b29sYmFyLWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBib2R5LnRvb2xiYXItaGlkZGVuIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvOyB9IH1cblxuLnRpdGxlLWJhci1sZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5idXR0b24tc3VibWVudS1jdXN0b21lciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB0b3A6IDAuNHJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tc3VibWVudS1jdXN0b21lciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmN1c3RvbWVyLWNvbnRlbnQtbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jdXN0b21lci1jb250ZW50LW1lbnUge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9IH1cbiAgLmN1c3RvbWVyLWNvbnRlbnQtbWVudS5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjVzIGZvcndhcmRzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjRzIGZvcndhcmRzO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY3VzdG9tZXItY29udGVudC1tZW51LmlzLWFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBjdXJzb3I6IGF1dG87IH0gfVxuICAuY3VzdG9tZXItY29udGVudC1tZW51LmlzLWRpc2FibGVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGFuaW1hdGlvbjogc2xpZGUtb3V0IDAuNXMgZm9yd2FyZHM7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNsaWRlLW91dCAwLjRzIGZvcndhcmRzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jdXN0b21lci1jb250ZW50LW1lbnUuaXMtZGlzYWJsZWQge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjVzIGZvcndhcmRzO1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogc2xpZGUtaW4gMC40cyBmb3J3YXJkcztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZS1pbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLW91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH0gfVxuXG4ubmF2LWFjY291bnQge1xuICBwYWRkaW5nOiAwLjdyZW07XG4gIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm5hdi1hY2NvdW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4vKkVuZCBvZiB0aGUgZnVuY2lvbmFsaXR5IG9mIHRoZSBjdXN0b21lci1idXR0b24tc3VibWVudSovXG4ubmF2LWFjY291bnQge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubmF2LWFjY291bnQgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogIzE1MjkzNTsgfVxuICAubmF2LWFjY291bnQgbGkuc2VsZWN0ZWQgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5uYXYtYWNjb3VudCBsaS5zZWxlY3RlZCBhOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxOUJBRTtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4ub3JkZXItY29udGFpbmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzE1MjkzNTsgfVxuICAub3JkZXItY29udGFpbmVyIC5vcmRlci10aXRsZS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICMxNTI5MzU7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgLm9yZGVyLWNvbnRhaW5lciAub3JkZXItbGlzdC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAub3JkZXItbGlzdC1jb250YWluZXIgLmFjY29yZGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAub3JkZXItbGlzdC1jb250YWluZXIgLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5vcmRlci1jb250YWluZXIgLm9yZGVyLWxpc3QtY29udGFpbmVyIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAzMCU7IH1cbiAgICAub3JkZXItY29udGFpbmVyIC5vcmRlci1saXN0LWNvbnRhaW5lciAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlID4gYS5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAub3JkZXItY29udGFpbmVyIC5vcmRlci1saXN0LWNvbnRhaW5lciAuYWNjb3JkaW9uLWl0ZW0gLnByb2R1Y3QtY29uZmlndXJhdGlvbiAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5vcmRlci1jb250YWluZXIgLm9yZGVyLWxpc3QtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkJGQkZCOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgLm9yZGVyLWxpc3QtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAub3JkZXIgLnByaWNlLXRpdGxlIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAub3JkZXItbGlzdC1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC5vcmRlciAucHJpY2UtYm94IHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgLm9yZGVyLWxpc3QtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAub3JkZXItYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5wYWdlLWJhbm5lci5jdXN0b21lci1zZXJ2aWNlLWJhbm5lciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wYWdlcy9iYW5uZXJzL2N1c3RvbWVyX3NlcnZpY2UucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQzNnB4O1xuICBtaW4taGVpZ2h0OiAyNjVweDtcbiAgcGFkZGluZzogMDsgfVxuXG4uY29udGFjdC1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMjVweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmF2YXRhciB7XG4gIHdpZHRoOiAxNDlweDtcbiAgaGVpZ2h0OiAxNDlweDsgfVxuXG4jY29udGFjdC1wYWdlIC5jb250YWN0LWNvbnRlbnQgLmludHJvLWNvbnRhY3QtY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7IH1cblxuLmNvbnRhY3QtY29udGVudCAuaW50cm8tY29udGFjdC1jb250ZW50IGgzIHtcbiAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICBtYXJnaW4tbGVmdDogMTgwcHg7XG4gIGJvcmRlci1ib3R0b206IDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMjRweDsgfVxuXG4uY29udGFjdC1jb250ZW50IC5pbnRyby1jb250YWN0LWNvbnRlbnQgaDIsIC5jb250YWN0LWNvbnRlbnQgLmludHJvLWNvbnRhY3QtY29udGVudCAjY2FydC1jb250YWluZXIgaDIsICNjYXJ0LWNvbnRhaW5lciAuY29udGFjdC1jb250ZW50IC5pbnRyby1jb250YWN0LWNvbnRlbnQgaDIge1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDE4MHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNsZWFyOiBpbmhlcml0O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgY29sb3I6ICM0NjdmZTY7IH1cblxuLyojY29udGFjdC1wYWdlIC5jb250YWN0LWNvbnRlbnQgLnJvdy1mb3VuZCAuY29sLXBhZGRpbmd7XG5cdHBhZGRpbmctdG9wOjEwcHg7XG59Ki9cbi5mbGFnLWZyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BhZ2VzL2N1c3RvbWVyX3NlcnZpY2UvZmxhZ19mci5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cblxuLmZsYWctYmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZXMvY3VzdG9tZXJfc2VydmljZS9mbGFnX2JlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mbGFnLXB0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BhZ2VzL2N1c3RvbWVyX3NlcnZpY2UvZmxhZ19wdC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cblxuLmZsYWctZXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZXMvY3VzdG9tZXJfc2VydmljZS9mbGFnX2VzLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuXG4uZmxhZy1ubCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wYWdlcy9jdXN0b21lcl9zZXJ2aWNlL2ZsYWdfbmwucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogOHB4OyB9XG5cbi5mbGFnLWVuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BhZ2VzL2N1c3RvbWVyX3NlcnZpY2UvZmxhZ19lbi5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cblxuI2NvbnRhY3QtcGFnZSB1bCB7XG4gIG1hcmdpbjogMDsgfVxuXG4jY29udGFjdC1wYWdlIHVsIGxpOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNjb250YWN0LXBhZ2UgLmNvbnRhY3QtY29udGVudCBpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnJlcGx5LWNvbnRhY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4vKkJPVVRPTiovXG4uYnRuLWN1c3RvbWVyLWNvbnRhY3Qge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogODtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kOiAjODRiMjQzO1xuICBwYWRkaW5nOiAycHggMTBweCAycHggMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiNjb250YWN0LXBhZ2UgLmJ0bi1jdXN0b21lci1jb250YWN0IHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jY29udGFjdC1wYWdlIC5idG4tY3VzdG9tZXItY29udGFjdCBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5idG4tY3VzdG9tZXItY29udGFjdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4YWMwM2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnRuLWN1c3RvbWVyLWNvbnRhY3QtcHQge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogODtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kOiAjODRiMjQzO1xuICBwYWRkaW5nOiAycHggMTBweCAycHggMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiNjb250YWN0LXBhZ2UgLmJ0bi1jdXN0b21lci1jb250YWN0LXB0IHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jY29udGFjdC1wYWdlIC5idG4tY3VzdG9tZXItY29udGFjdC1wdCBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5idG4tY3VzdG9tZXItY29udGFjdC1wdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4YWMwM2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnRuLWN1c3RvbWVyLWNvbnRhY3QtZXMge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogODtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kOiAjODRiMjQzO1xuICBwYWRkaW5nOiAycHggMTBweCAycHggMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogNDRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiNjb250YWN0LXBhZ2UgLmJ0bi1jdXN0b21lci1jb250YWN0LWVzIHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jY29udGFjdC1wYWdlIC5idG4tY3VzdG9tZXItY29udGFjdC1lcyBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5idG4tY3VzdG9tZXItY29udGFjdC1lczpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4YWMwM2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnRuLWN1c3RvbWVyLWNvbnRhY3Qtbmwge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogODtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kOiAjODRiMjQzO1xuICBwYWRkaW5nOiAycHggMTBweCAycHggMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiNjb250YWN0LXBhZ2UgLmJ0bi1jdXN0b21lci1jb250YWN0LW5sIHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jY29udGFjdC1wYWdlIC5idG4tY3VzdG9tZXItY29udGFjdC1ubCBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5idG4tY3VzdG9tZXItY29udGFjdC1ubDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4YWMwM2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uYnRuLWN1c3RvbWVyLWNvbnRhY3QtZW4ge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogODtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kOiAjODRiMjQzO1xuICBwYWRkaW5nOiAycHggMTBweCAycHggMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbiNjb250YWN0LXBhZ2UgLmJ0bi1jdXN0b21lci1jb250YWN0LWVuIHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jY29udGFjdC1wYWdlIC5idG4tY3VzdG9tZXItY29udGFjdC1lbiBwIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5idG4tY3VzdG9tZXItY29udGFjdC1lbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4YWMwM2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKkZJTiBCT1VUT04qL1xuLypNT0lCSUxFIFZJRVcqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLnBhZ2UtYmFubmVyLmN1c3RvbWVyLXNlcnZpY2UtYmFubmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiBzbWFsbCkge1xuICAuY29sMS1sYXlvdXQgLnBhZ2UtYmFubmVyIC5wYWdlLWJhbm5lci10aXRsZSB7XG4gICAgbGVmdDogMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDc4JTsgfVxuICAuY3VzdG9tZXItaW5mby1wdCB7XG4gICAgcGFkZGluZy10b3A6IDBweDsgfVxuICAuYXZhdGFyIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLmNvbnRhY3QtY29udGVudCAuaW50cm8tY29udGFjdC1jb250ZW50IGgyLCAuY29udGFjdC1jb250ZW50IC5pbnRyby1jb250YWN0LWNvbnRlbnQgI2NhcnQtY29udGFpbmVyIGgyLCAjY2FydC1jb250YWluZXIgLmNvbnRhY3QtY29udGVudCAuaW50cm8tY29udGFjdC1jb250ZW50IGgyLFxuICAuY29udGFjdC1jb250ZW50IC5pbnRyby1jb250YWN0LWNvbnRlbnQgaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmJ0bi1jdXN0b21lci1jb250YWN0LCAuYnRuLWN1c3RvbWVyLWNvbnRhY3QtbmwsIC5idG4tY3VzdG9tZXItY29udGFjdC1lcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAjY29udGFjdC1wYWdlIC5jb250YWN0LWNvbnRlbnQgLnJvdy1mb3VuZC5jb2wtcGFkZGluZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5idG4tY3VzdG9tZXItY29udGFjdCwgLmJ0bi1jdXN0b21lci1jb250YWN0LW5sLFxuICAuYnRuLWN1c3RvbWVyLWNvbnRhY3QtZXMsIC5idG4tY3VzdG9tZXItY29udGFjdC1wdCwgLmJ0bi1jdXN0b21lci1jb250YWN0LWVuIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAuc3RhdGVzLWNvbnRhY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuI21vZGFsSW1hZ2UgLnByb2R1Y3QtaW1hZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI21vZGFsSW1hZ2UgLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IHVuc2V0OyB9XG5cbi5wcmljZS1ib3ggLnByaWNlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAucHJpY2UtYm94IC5wcmljZS5zcGVjaWFsUHJpY2Uge1xuICAgIGNvbG9yOiAjREM1RTVFOyB9XG4gIC5wcmljZS1ib3ggLnByaWNlLnJlZ3VsYXJQcmljZS5zdHJpa2VPdXRQcmljZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgY29sb3I6ICNDOEM4Qzg7IH1cblxuI3Byb2R1Y3QtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAjcHJvZHVjdC1jb250YWluZXIgLm9yYml0IC5pY29uc2FyZWEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAjcHJvZHVjdC1jb250YWluZXIgLm9yYml0IC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlIC5pY29uc2FyZWEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDVweDtcbiAgICByaWdodDogMTVweDtcbiAgICBmb250LXNpemU6IDM0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNwcm9kdWN0LWNvbnRhaW5lciAub3JiaXQgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgICAgI3Byb2R1Y3QtY29udGFpbmVyIC5vcmJpdCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAgICAgI3Byb2R1Y3QtY29udGFpbmVyIC5vcmJpdCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZSBmaWd1cmUge1xuICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcyg5NyUpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNwcm9kdWN0LWNvbnRhaW5lciAub3JiaXQgLm9yYml0LWNvbnRyb2xzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH0gfVxuICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5wcm9kdWN0LW5hbWUtbGluZS1jb250YWluZXIgLnByb2R1Y3QtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMzZweDsgfVxuICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5wcm9kdWN0LW5hbWUtbGluZS1jb250YWluZXIgcC5zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIgLnByb2R1Y3QtbmFtZS1saW5lLWNvbnRhaW5lciAuYWRkLXRvLXdpc2hsaXN0LWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgbWluLXdpZHRoOiAxcHg7IH1cbiAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC1tYWluLWRhdGEtY29udGFpbmVyIHtcbiAgICAvKm92ZXJ3cml0ZSBwcmljZWJveCBmb3IgY2VydGFpbiB0ZW1wbGF0ZXMqLyB9XG4gICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC1tYWluLWRhdGEtY29udGFpbmVyIC5wcmljZSB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGQtdG8tY2FydC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZC10by1jYXJ0LWNvbnRhaW5lciB7XG4gICAgICAgIHRvcDogMHB4OyB9IH1cbiAgICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGQtdG8tY2FydC1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkLXRvLWNhcnQtY29udGFpbmVyIC5idXR0b24ge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGQtdG8tY2FydC1jb250YWluZXIgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHBhZGRpbmc6IDE4cHg7IH1cbiAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC10YWJzIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC10YWJzIC50YWJzLWNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4OyB9XG4gICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC10YWJzIC50YWJzLWNvbnRlbnQgdGgge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5wcm9kdWN0LXRhYnMgLnRhYnMtdGl0bGUgLmxpbmstYm9yZGVyLFxuICAgICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIgLnByb2R1Y3QtdGFicyAuYWNjb3JkaW9uLXRpdGxlIC5saW5rLWJvcmRlciB7XG4gICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC4xMjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC10YWJzIC50YWJzLXRpdGxlIC5yYXRpbmctc3RhcnMsXG4gICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC10YWJzIC5hY2NvcmRpb24tdGl0bGUgLnJhdGluZy1zdGFycyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSAubGluay1ib3JkZXIsXG4gICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC10YWJzIC5hY2NvcmRpb24tdGl0bGUuaXMtYWN0aXZlIC5saW5rLWJvcmRlciB7XG4gICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMzRDcwQjI7IH1cbiAgICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5wcm9kdWN0LXRhYnMgLnNoYXJlX2J1dHRvbl9jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgICAgICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIgLnByb2R1Y3QtdGFicyAuc2hhcmVfYnV0dG9uX2NvbnRhaW5lciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIgLnByb2R1Y3QtdGFicyAuc2hhcmVfYnV0dG9uX2NvbnRhaW5lciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDBweDsgfSB9XG4gICAgICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5wcm9kdWN0LXRhYnMgLnNoYXJlX2J1dHRvbl9jb250YWluZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjQzhDOEM4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG4gICAgICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5wcm9kdWN0LXRhYnMgLnNoYXJlX2J1dHRvbl9jb250YWluZXIgYSB7XG4gICAgICAgIG1hcmdpbjogM3B4OyB9XG4gICAgICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5wcm9kdWN0LXRhYnMgLnNoYXJlX2J1dHRvbl9jb250YWluZXIgLmljb24tZW52ZWxvcGUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U0Q0U3RjtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogXCJiYWNrZ3JvdW5kLWNvbG9yXCI7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogXCJiYWNrZ3JvdW5kLWNvbG9yXCI7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDFzOyB9XG4gICAgICAgICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIgLnByb2R1Y3QtdGFicyAuc2hhcmVfYnV0dG9uX2NvbnRhaW5lciAuaWNvbi1lbnZlbG9wZTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q4QkE0RDsgfVxuICAgICAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciAucHJvZHVjdC10YWJzIC5zaGFyZV9idXR0b25fY29udGFpbmVyIC5pY29uLWZhY2Vib29rIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTVweCAxMnB4IDE1UFg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2RjdBQjc7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IFwiYmFja2dyb3VuZC1jb2xvclwiO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IFwiYmFja2dyb3VuZC1jb2xvclwiO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxczsgfVxuICAgICAgICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5wcm9kdWN0LXRhYnMgLnNoYXJlX2J1dHRvbl9jb250YWluZXIgLmljb24tZmFjZWJvb2s6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1QTY4QUQ7IH1cbiAgICAgICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIgLnByb2R1Y3QtdGFicyAuc2hhcmVfYnV0dG9uX2NvbnRhaW5lciAuaWNvbi10d2l0dGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMEFDRUU7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IFwiYmFja2dyb3VuZC1jb2xvclwiO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IFwiYmFja2dyb3VuZC1jb2xvclwiO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxczsgfVxuICAgICAgICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIC5wcm9kdWN0LXRhYnMgLnNoYXJlX2J1dHRvbl9jb250YWluZXIgLmljb24tdHdpdHRlcjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhFODFERTsgfVxuICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3RfX3dpc2hsaXN0LWFjdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgI3Byb2R1Y3QtY29udGFpbmVyIC53aXNobGlzdC1pY29ucy5hZGQtdG8td2lzaGxpc3QtY29udGFpbmVyIC5qc2UtYWRkLXRvLXdpc2hsaXN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICNwcm9kdWN0LWNvbnRhaW5lciAud2lzaGxpc3QtaWNvbnMuYWRkLXRvLXdpc2hsaXN0LWNvbnRhaW5lciAuanNlLXJlbW92ZS1mcm9tLXdpc2hsaXN0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNwcm9kdWN0LWNvbnRhaW5lciAud2lzaGxpc3QtaWNvbnMuYWRkLXRvLXdpc2hsaXN0LWNvbnRhaW5lci5qc3MtaXMtb24td2lzaGxpc3QgLmpzZS1hZGQtdG8td2lzaGxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3Byb2R1Y3QtY29udGFpbmVyIC53aXNobGlzdC1pY29ucy5hZGQtdG8td2lzaGxpc3QtY29udGFpbmVyLmpzcy1pcy1vbi13aXNobGlzdCAuanNlLXJlbW92ZS1mcm9tLXdpc2hsaXN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgI3Byb2R1Y3QtY29udGFpbmVyLmdsYXNzZXMtcHJvZHVjdCB7XG4gICAgLypkaXNhYmxlZCBvcHRpb25zKi8gfVxuICAgICNwcm9kdWN0LWNvbnRhaW5lci5nbGFzc2VzLXByb2R1Y3QgI0pTLVBWX1NURVAyIC5qc2UtY2hvb3NlTGVuc0NvbG9yIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAjcHJvZHVjdC1jb250YWluZXIuZ2xhc3Nlcy1wcm9kdWN0ICNKUy1QVl9TVEVQMiAuanNzLWJ1bmRsZS1wcmljZSAucHJpY2UtYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAjcHJvZHVjdC1jb250YWluZXIuZ2xhc3Nlcy1wcm9kdWN0ICNKUy1QVl9TVEVQMiAuanNzLWJ1bmRsZS1wcmljZSAucHJpY2UtYm94IC5zcGVjaWFsUHJpY2Uge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgI3Byb2R1Y3QtY29udGFpbmVyLmdsYXNzZXMtcHJvZHVjdCAjSlMtUFZfU1RFUDIgLmpzcy1idW5kbGUtcHJpY2UgLnByaWNlLWJveCAucmVndWxhclByaWNlLnN0cmlrZU91dFByaWNlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAjcHJvZHVjdC1jb250YWluZXIuZ2xhc3Nlcy1wcm9kdWN0ICNKUy1QVl9TVEVQMiAjY3VzdG9tZXJJbnB1dCBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAgICNwcm9kdWN0LWNvbnRhaW5lci5nbGFzc2VzLXByb2R1Y3QgLmFkZC10by1jYXJ0LWJvdHRvbS1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgICNwcm9kdWN0LWNvbnRhaW5lci5nbGFzc2VzLXByb2R1Y3QgLmFkZC10by1jYXJ0LWJvdHRvbS1jb250YWluZXIgLmFkZC10by1jYXJ0LWJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDM0MHB4OyB9XG4gICAgI3Byb2R1Y3QtY29udGFpbmVyLmdsYXNzZXMtcHJvZHVjdCAubGVuc2NvbG9ybGlzdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAjcHJvZHVjdC1jb250YWluZXIuZ2xhc3Nlcy1wcm9kdWN0IC5wcm9kdWN0LW9wdGlvbi10YWJzIHtcbiAgICAgIG1hcmdpbjogMXJlbTsgfVxuICAgICNwcm9kdWN0LWNvbnRhaW5lci5nbGFzc2VzLXByb2R1Y3QgLmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgICNwcm9kdWN0LWNvbnRhaW5lci5nbGFzc2VzLXByb2R1Y3QgLmRpc2FibGVkIGEge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDsgfVxuICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1ZGN0LXRpZXJwcmljZSAudGFicy10aXRsZSBhIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVkY3QtdGllcnByaWNlIC50YWJzLXRpdGxlIGEgbGkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1ZGN0LXRpZXJwcmljZSAudGFicyB7XG4gICAgYm9yZGVyOiAwcHg7IH1cbiAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LW9wdGlvbi10YWJzIC50YWJzLXRpdGxlIGEgbGkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWRjdC10aWVycHJpY2U6bm90KC5sZW5zY29sb3JUYWIpIC50YWJzLXBhbmVsLCAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3Qtb3B0aW9uLXRhYnM6bm90KC5sZW5zY29sb3JUYWIpIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVkY3QtdGllcnByaWNlIC5zYXZpbmdQZXJjZW50YWdlLCAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3Qtb3B0aW9uLXRhYnMgLnNhdmluZ1BlcmNlbnRhZ2Uge1xuICAgIGNvbG9yOiAjREM1RTVFO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1ZGN0LXRpZXJwcmljZSAudGllclByaWNlVG90YWwsICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1vcHRpb24tdGFicyAudGllclByaWNlVG90YWwge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVkY3QtdGllcnByaWNlIC50YWItdGl0bGUtaGVhZGluZywgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LW9wdGlvbi10YWJzIC50YWItdGl0bGUtaGVhZGluZyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVkY3QtdGllcnByaWNlIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSAudGFiQnVsbGV0cyBzcGFuLmljb24tY2lyY2xlLXRoaW4sICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVkY3QtdGllcnByaWNlIC50YWJzLXRpdGxlLmVuYWJsZWQ6aG92ZXIgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWNpcmNsZS10aGluLCAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1Y3Qtb3B0aW9uLXRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIC50YWJCdWxsZXRzIHNwYW4uaWNvbi1jaXJjbGUtdGhpbiwgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LW9wdGlvbi10YWJzIC50YWJzLXRpdGxlLmVuYWJsZWQ6aG92ZXIgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWNpcmNsZS10aGluIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVkY3QtdGllcnByaWNlIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSAudGFiQnVsbGV0cyBzcGFuLmljb24tZG90LWNpcmNsZS1vLCAjcHJvZHVjdC1jb250YWluZXIgLnByb2R1ZGN0LXRpZXJwcmljZSAudGFicy10aXRsZS5lbmFibGVkOmhvdmVyIC50YWJCdWxsZXRzIHNwYW4uaWNvbi1kb3QtY2lyY2xlLW8sICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVjdC1vcHRpb24tdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWRvdC1jaXJjbGUtbywgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LW9wdGlvbi10YWJzIC50YWJzLXRpdGxlLmVuYWJsZWQ6aG92ZXIgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWRvdC1jaXJjbGUtbyB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gICNwcm9kdWN0LWNvbnRhaW5lciAucHJvZHVkY3QtdGllcnByaWNlIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSAudGFiQnVsbGV0cyBzcGFuLmljb24tZG90LWNpcmNsZS1vOmJlZm9yZSwgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWRjdC10aWVycHJpY2UgLnRhYnMtdGl0bGUuZW5hYmxlZDpob3ZlciAudGFiQnVsbGV0cyBzcGFuLmljb24tZG90LWNpcmNsZS1vOmJlZm9yZSwgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LW9wdGlvbi10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSAudGFiQnVsbGV0cyBzcGFuLmljb24tZG90LWNpcmNsZS1vOmJlZm9yZSwgI3Byb2R1Y3QtY29udGFpbmVyIC5wcm9kdWN0LW9wdGlvbi10YWJzIC50YWJzLXRpdGxlLmVuYWJsZWQ6aG92ZXIgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWRvdC1jaXJjbGUtbzpiZWZvcmUge1xuICAgIGNvbG9yOiBncmVlbjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBhbmltYXRpb24tbmFtZTogdGFiQnVsbGV0c0FjdGl2ZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwO1xuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbml0aWFsO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuQGtleWZyYW1lcyB0YWJCdWxsZXRzQWN0aXZlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5nbGFzc2VzLWxlbnMtdmFsdWVzLWNvbnRhaW5lciAuY2FsbG91dCBociB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1jb2xvcjogIzNENzBCMjsgfVxuXG4uZ2xhc3Nlcy1sZW5zLXZhbHVlcy1jb250YWluZXIgLmNhbGxvdXQgcCBzcGFuW2NsYXNzXj1cImljb24tXCJdIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi5nbGFzc2VzLXVwbG9hZC1wcmVzY3JpcHRpb24tY29udGFpbmVyIC51cGxvYWQtcHJlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiA5MHB4OyB9XG4gIC5nbGFzc2VzLXVwbG9hZC1wcmVzY3JpcHRpb24tY29udGFpbmVyIC51cGxvYWQtcHJlc2NyaXB0aW9uIC5pY29uLWltYWdlOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIC5nbGFzc2VzLXVwbG9hZC1wcmVzY3JpcHRpb24tY29udGFpbmVyIC51cGxvYWQtcHJlc2NyaXB0aW9uIC5pY29uLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbi5nbGFzc2VzLXVwbG9hZC1wcmVzY3JpcHRpb24tY29udGFpbmVyIC51cGxvYWQtcHJlc2NyaXB0aW9uLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogOTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzRDcwQjI7IH1cbiAgLmdsYXNzZXMtdXBsb2FkLXByZXNjcmlwdGlvbi1jb250YWluZXIgLnVwbG9hZC1wcmVzY3JpcHRpb24taXRlbSAjanNkLXByZXNjcmlwdGlvbi11cGxvYWQtaXRlbS10ZXh0IHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGwgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogNXB4OyB9XG4gIC5nbGFzc2VzLXVwbG9hZC1wcmVzY3JpcHRpb24tY29udGFpbmVyIC51cGxvYWQtcHJlc2NyaXB0aW9uLWl0ZW0gLmljb24tdGltZXMtY2lyY2xlLW8ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBib3R0b206IC0xNXB4O1xuICAgIHJpZ2h0OiAtMTBweDsgfVxuICAgIC5nbGFzc2VzLXVwbG9hZC1wcmVzY3JpcHRpb24tY29udGFpbmVyIC51cGxvYWQtcHJlc2NyaXB0aW9uLWl0ZW0gLmljb24tdGltZXMtY2lyY2xlLW8uaGFzLXRpcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmdsYXNzZXMtdXBsb2FkLXByZXNjcmlwdGlvbi1jb250YWluZXIgLnVwbG9hZC1wcmVzY3JpcHRpb24taXRlbSAuaWNvbi10aW1lcy1jaXJjbGUtbzpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4vKnJlbW90ZWVkZ2luZyBzcGVjaWFsKi9cbi8qaGlkZSBjb2xvclRhYnMgZm9yIHJlbW90ZWVkZ2luZyovXG4ucHJvZHVjdF92aWV3LnZpZXdfcmVtb3RlZWRnaW5nIC5DT0xPUk5BVkdSQURJRU5ULCAucHJvZHVjdF92aWV3LnZpZXdfcmVtb3RlZWRnaW5nIC5DT0xPUk5BVk1JUlJPUiwgLnByb2R1Y3Rfdmlldy52aWV3X3JlbW90ZWVkZ2luZyAuaGlkZV9yZW1vdGVlZGdpbmcge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcy5zaWRlLXJpZ2h0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmRlZmF1bHRfcHJpY2Uge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX3ByaWNlIHtcbiAgcGFkZGluZzogMCAwIDdweCAwOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuYjI0X3NwZWNpYWxfcHJpY2Vfb2xkIHtcbiAgcGFkZGluZzogOHB4IDAgMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnByaWNlU3RlcDIgLmIyNF9zcGVjaWFsX3ByaWNlX29sZCB7XG4gIHBhZGRpbmc6IDEycHggMCAwO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfcHJpY2VfYm94IC5kZWZhdWx0X3ByaWNlLFxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX3ByaWNlX2JveCAuYjI0X3NwZWNpYWxfcHJpY2Vfb2xkIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiBzbWFsbDtcbiAgcGFkZGluZy1yaWdodDogNXB4OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9wcmljZV9ib3ggLnNwZWNpYWxfcHJpY2Uge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2Y1M2MzOTsgfVxuXG4vKiBDb2xvciBib3ggKi9cbi52aWV3X2dsYXNzZXMgI2xlbnNfY29sb3JfYm94IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jdGVqYWRvR2xhc3Nlcy5wcmVzY3JpcHRpb25TdW5nbGFzc2VzICNsZW5zX2NvbG9yX2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAzMHB4IDAgMDsgfVxuXG4vKiBUQUJTICovXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFicyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDBweDsgfVxuICBodG1sOm5vdCgubW9iaWxlKSAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFicyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDEwcHggOXB4O1xuICBtYXJnaW46IDAgLTZweCAtMXB4IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXY6Zmlyc3QtY2hpbGQsXG4gIGh0bWwubW9iaWxlICNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDsgfVxuICBodG1sLm1vYmlsZSAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7IH1cblxuI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubGVuc190cmFuc2l0aW9ucyxcbiNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmxlbnNfcG9sYXJpemVyLFxuI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubGVuc19taXJyb3IsXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX2dyYWRpZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdjpob3ZlcixcbiNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzU1NTsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5pcy1hY3RpdmUsXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2Lm5hdi1uby10aW50aW5nLmlzLWFjdGl2ZSxcbiNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2Lm5hdi1uby10aW50aW5nOmFjdGl2ZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzIC50YWIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnMgLnRhYi5sZW5zX2NvbG9yIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyphZGQgZmVhdHVyZSM1Mjc4ICovXG5ib2R5Lmlzb2ZmaWNlbGVucyAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX3RyYW5zaXRpb25zLFxuYm9keS5pc29mZmljZWxlbnMgI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubGVuc19wb2xhcml6ZXIsXG5ib2R5Lmlzb2ZmaWNlbGVucyAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX21pcnJvcixcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmxlbnNfZ3JhZGllbnQsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubGVuc190cmFuc2l0aW9ucyxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX3BvbGFyaXplcixcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX21pcnJvcixcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX2dyYWRpZW50IHtcbiAgb3BhY2l0eTogMC4yO1xuICBjb2xvcjogI0NDQ0NDQztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50OyB9XG5cbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDYzMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDY1MCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDg1MCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDgzMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDE4NSxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDE3NSxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDE1MCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDEzMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDI4NSxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDI3NSxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDI1MCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDIzMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDMzMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDM1MCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDc4NSxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDc3NSxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDc1MCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDczMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDU4NSxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDU3NSxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDU1MCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDUzMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDYxMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDgxMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDMxMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDExMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDIxMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDcxMCxcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGNfMDUxMCwgYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDYzMCxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzA2NTAsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sY18wODUwLFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDgzMCxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzAxODUsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sY18wMTc1LFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDE1MCxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzAxMzAsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sY18wMjg1LFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDI3NSxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzAyNTAsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sY18wMjMwLFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDMzMCxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzAzNTAsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sY18wNzg1LFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDc3NSxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzA3NTAsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sY18wNzMwLFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDU4NSxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzA1NzUsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sY18wNTUwLFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDUzMCxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzA2MTAsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sY18wODEwLFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDMxMCxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzAxMTAsXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5sY18wMjEwLFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGNfMDcxMCxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxjXzA1MTAge1xuICBvcGFjaXR5OiAwLjE7XG4gIGNvbG9yOiAjQ0NDQ0NDO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7IH1cblxuYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fc2luZ2xlVmlzaW9uLCBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSB7XG4gIC8qXG4gIFsnMDAwMCcsJzAxMTAnLCcwMTMwJywnMDE1MCcsJzAxNzUnLCcwMTg1JyxcbiAgJzAyMTAnLCcwMjMwJywnMDI1MCcsJzAyNzUnLCcwMjg1JywnMDMxMCcsJzAzMzAnLCcwMzUwJywnMDUxMCcsJzA1MzAnLCcwNTUwJyxcbiAgJzA1NzUnLCcwNTg1JywnMDc3NScsJzA3ODUnLCcwMTk3JywnMDI5NycsJzAxOTgnLCcwMjk4JywnMDc5OCddO1xuICAqLyB9XG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzA3NTAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzA3MzAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzA3MTAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzAxOTksXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzAyOTksXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzAxOTQsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzAyOTQsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzA4NTAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzA4MzAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzA4MTAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzA2NTAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzA2MzAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAjbGVuc19jb2xvcl9ib3ggLmxjXzA2MTAsIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3Byb2dyZXNzaXZlICNsZW5zX2NvbG9yX2JveCAubGNfMDc1MCxcbiAgYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fcHJvZ3Jlc3NpdmUgI2xlbnNfY29sb3JfYm94IC5sY18wNzMwLFxuICBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSAjbGVuc19jb2xvcl9ib3ggLmxjXzA3MTAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3Byb2dyZXNzaXZlICNsZW5zX2NvbG9yX2JveCAubGNfMDE5OSxcbiAgYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fcHJvZ3Jlc3NpdmUgI2xlbnNfY29sb3JfYm94IC5sY18wMjk5LFxuICBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSAjbGVuc19jb2xvcl9ib3ggLmxjXzAxOTQsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3Byb2dyZXNzaXZlICNsZW5zX2NvbG9yX2JveCAubGNfMDI5NCxcbiAgYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fcHJvZ3Jlc3NpdmUgI2xlbnNfY29sb3JfYm94IC5sY18wODUwLFxuICBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSAjbGVuc19jb2xvcl9ib3ggLmxjXzA4MzAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3Byb2dyZXNzaXZlICNsZW5zX2NvbG9yX2JveCAubGNfMDgxMCxcbiAgYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fcHJvZ3Jlc3NpdmUgI2xlbnNfY29sb3JfYm94IC5sY18wNjUwLFxuICBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSAjbGVuc19jb2xvcl9ib3ggLmxjXzA2MzAsXG4gIGJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3Byb2dyZXNzaXZlICNsZW5zX2NvbG9yX2JveCAubGNfMDYxMCB7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIGNvbG9yOiAjQ0NDQ0NDO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDsgfVxuICBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19zaW5nbGVWaXNpb24gI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubGVuc19ncmFkaWVudCxcbiAgYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fc2luZ2xlVmlzaW9uICNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmxlbnNfbWlycm9yLCBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX2dyYWRpZW50LFxuICBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX21pcnJvciB7XG4gICAgb3BhY2l0eTogMC4yO1xuICAgIGNvbG9yOiAjQ0NDQ0NDO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDsgfVxuICBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19zaW5nbGVWaXNpb24gI2xlbnNfY29sb3JfYm94ICNMRU5TQ09MT1JfU1VOTU9USU9OLFxuICBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19zaW5nbGVWaXNpb24gI2xlbnNfY29sb3JfYm94ICNMRU5TQ09MT1JfVFJBTlNJVElPTlhUUkFDVElWRSwgYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fcHJvZ3Jlc3NpdmUgI2xlbnNfY29sb3JfYm94ICNMRU5TQ09MT1JfU1VOTU9USU9OLFxuICBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSAjbGVuc19jb2xvcl9ib3ggI0xFTlNDT0xPUl9UUkFOU0lUSU9OWFRSQUNUSVZFIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbmRpdi5pbmRleF9pbmZvX2hpbnQsIGRpdi5pc19yZWZpbmVtZW50X2FiY19oaW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5ib2R5LmlzcmVmaW5lbWVudF9hYmMgZGl2LmxlbnNfY29sb3Jfc3RhdGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuYm9keS5pc3JlZmluZW1lbnRfYWJjIGRpdi5pc19yZWZpbmVtZW50X2FiY19oaW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keS5pc3JlZmluZW1lbnRfYWJjIC5yZWZpbmVtZW50X2l0ZW0ucmVmaW5lbWVudF9hYmMgZGl2LmluZGV4X2luZm9faGludCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3Byb2dyZXNzaXZlIGRpdi5pc19yZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbl9oaW50LFxuYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fcHJvZ3Jlc3NpdmUgZGl2LmlzX3JlZmluZW1lbnRfc2Vpa29fcHJvZ3Jlc3NpdmVfaGludCxcbmJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiBkaXYuaXNfcmVmaW5lbWVudF9zZWlrb19zaW5nbGVWaXNpb25faGludCxcbmJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiBkaXYuaXNfcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZV9oaW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fcHJvZ3Jlc3NpdmUgLnJlZmluZW1lbnRfaXRlbS5yZWZpbmVtZW50X3NlaWtvX3Byb2dyZXNzaXZlIGRpdi5pbmRleF9pbmZvX2hpbnQsXG5ib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSAucmVmaW5lbWVudF9pdGVtLnJlZmluZW1lbnRfc2Vpa29fc2luZ2xlVmlzaW9uIGRpdi5pbmRleF9pbmZvX2hpbnQsXG5ib2R5LmlzcmVmaW5lbWVudF9zZWlrb19zaW5nbGVWaXNpb24gLnJlZmluZW1lbnRfaXRlbS5yZWZpbmVtZW50X3NlaWtvX3Byb2dyZXNzaXZlIGRpdi5pbmRleF9pbmZvX2hpbnQsXG5ib2R5LmlzcmVmaW5lbWVudF9zZWlrb19zaW5nbGVWaXNpb24gLnJlZmluZW1lbnRfaXRlbS5yZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiBkaXYuaW5kZXhfaW5mb19oaW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1pcnJvci1jb2xvcnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbG9yLWl0ZW1zIC5icmFuZCB7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi8qIE9obmUgVMO2bnVuZyAqL1xuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcy5ub25lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI2xlbnNfY29sb3JfYm94IHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuYm90dG9tIHtcbiAgLypcbm1hcmdpbjogMTVweCAtMjBweCAtMjBweCAtMjBweDtcblxudGV4dC1hbGlnbjogcmlnaHQ7XG5ib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiovXG4gIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4IDE1cHg7IH1cblxuI2xlbnNfY29sb3JfYm94IC5ib3R0b20gLmxlZnQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi8qIExlbmNvbG9yIGxlZnQqL1xuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcy5zaWRlLWxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDE1cHggMCA1cHggMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaGVhZGxpbmUge1xuICBtaW4td2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMjRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLmhlYWRsaW5lIHtcbiAgICAgIG1pbi13aWR0aDogNjBweDsgfSB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLnJvdy1jb2xvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7IH1cblxuI2xlbnNfY29sb3JfYm94IC5sZW5zX21pcnJvciAuY29sb3ItaXRlbXMgLnJvdy1jb2xvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5yb3ctY29sb3IgLmhlYWRsaW5lIHtcbiAgbWluLXdpZHRoOiA4NXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi10b3A6IDdweDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfdHJhbnNpdGlvbnMgLmNvbG9yLWl0ZW1zIC5yb3ctY29sb3Ige1xuICBtYXJnaW46IC00cHggMCAwIDA7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAucm93LWNvbG9yLnNjYWxlIC52YWx1ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0NDQ0NDQztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBmbG9hdDogbGVmdDsgfVxuICAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtIC5hbHdheXMtZW5hYmxlZCxcbiAgI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbSBoci5hbHdheXMtZW5hYmxlZCB7XG4gICAgYm94LXNoYWRvdzogZ3JlZW4gIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDsgfVxuICAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtIGhyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgLyomOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9nbGFzc2VzX21hc2sucG5nKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfSovIH1cbiAgI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbSAuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAwMDAgaHIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ODg7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMDAwOm5vdCguaXMtYWN0aXZlKTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTVweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDQxcHg7XG4gIGhlaWdodDogMjdweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvdHJhbnNpdGlvbl9pbWcucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk1cHggLTM4MnB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB6LWluZGV4OiAxOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMubm9uZSAuaXRlbSB7XG4gIGNsZWFyOiBib3RoO1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qIFRyYW5zaXRpb25zICovXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcy5zaWRlLXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAwcHg7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcy5zaWRlLXJpZ2h0IC5oZWFkbGluZV9hbmkge1xuICBwYWRkaW5nOiAwIDAgNXB4O1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyAuaGVhZGxpbmUtbG9uZyB7XG4gIG1heC13aWR0aDogNTMwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAuY29sb3ItaXRlbXMubm9uZSAuaGVhZGxpbmUtbG9uZyB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAuY29sb3ItaXRlbXMgLmhlYWRsaW5lLWxvbmcgLmJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyAudXNwIHtcbiAgbWFyZ2luOiAxMHB4IDEwcHggMHB4IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAuY29sb3ItaXRlbXMgLnVzcCB7XG4gICAgICBkaXNwbGF5OiBpbml0aWFsOyB9IH1cblxuI2xlbnNfY29sb3JfYm94IC5icmlsbGUyNF9zdW5tb3Rpb25uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTI1cHg7XG4gIGhlaWdodDogNjBweDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnRyYW5zaXRpb25zbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEyNXB4O1xuICBoZWlnaHQ6IDYwcHg7IH1cblxuI2xlbnNfY29sb3JfYm94IC5sb2dvIHNwYW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIHRyYW5zaXRpb24gYW5pbWF0aW9uICovXG4jdHJhbnNpdGlvbkFuaSB7XG4gIHdpZHRoOiAzMDBweDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICN0cmFuc2l0aW9uQW5pIC5idG4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBwYWRkaW5nOiAxMXB4IDI1cHggOXB4IDI1cHggIWltcG9ydGFudDtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3RyYW5zaXRpb25BbmkgLmJ0biAubm9VaS1oYW5kbGUubm9VaS1oYW5kbGUtbG93ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICN0cmFuc2l0aW9uQW5pIC50cmFuc2l0aW9uSWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwIDE4cHggMCAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy90cmFuc2l0aW9uX2ltZy5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0cHggLTM3MXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3RyYW5zaXRpb25BbmkgLnRyYW5zaXRpb25JY29uLnN1bm55IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW46IDAgMCAwIDhweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvdHJhbnNpdGlvbl9pbWcucG5nKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1cHggLTM3MnB4OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3RyYW5zaXRpb25BbmkgLnNsaWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0MnB4O1xuICBoZWlnaHQ6IDI1cHg7IH1cblxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAjdHJhbnNpdGlvbkFuaSAudHJhbnNpdGlvbkltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwMHB4O1xuICBoZWlnaHQ6IDE4MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy90cmFuc2l0aW9uX2ltZy5wbmcpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3RyYW5zaXRpb25BbmkgLnRyYW5zaXRpb25JbWcgLmdsYXNzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwcHg7XG4gIHRvcDogMHB4O1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMTgwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL3RyYW5zaXRpb25faW1nLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE4MHB4O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHBvbGFyaXplciBhbmltYXRpb24gKi9cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgLmNvbG9yLWl0ZW1zLnNpZGUtcmlnaHQgI3BvbGFyaXplckFuaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3BvbGFyaXplckFuaSAuYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTM0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogNXB4IDAgNHB4IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICNwb2xhcml6ZXJBbmkgLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMCAtNXB4IDAgMDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICNwb2xhcml6ZXJBbmkgLmJ0bi5vZmYge1xuICB3aWR0aDogMTY1cHg7IH1cblxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAjcG9sYXJpemVyQW5pIC5idG4uaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7IH1cblxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAjcG9sYXJpemVyQW5pIC5wb2xhcml6ZXJJbWcsXG4jcGFuZWwxYywgI3BhbmVsMmMge1xuICB3aWR0aDogMjk1cHg7XG4gIGhlaWdodDogMTgwcHg7IH1cblxuI3BhbmVsMWMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9wb2xhcml6ZXJfaW1nLmpwZyk7IH1cblxuI3BhbmVsMmMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xODBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvcG9sYXJpemVyX2ltZy5qcGcpOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAjZGVncmFkaWVyQW5pIC5kZWdyYWRpZXJJbWcge1xuICB3aWR0aDogMjk4cHg7XG4gIGhlaWdodDogMTgwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL2dyYWRpZW50L3NhbXBsZS1ncmFkaWVudC1icm93bi5qcGcpIDBweCBjZW50ZXI7IH1cbiAgI2xlbnNfY29sb3JfYm94ICNkZWdyYWRpZXJBbmkgLmRlZ3JhZGllckltZyA+IGRpdi5taXJyb3ItMDE5NiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTgwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvZ3JhZGllbnQvc2FtcGxlLWdyYWRpZW50LWJyb3duLmpwZykgMHB4IGNlbnRlcjsgfVxuICAjbGVuc19jb2xvcl9ib3ggI2RlZ3JhZGllckFuaSAuZGVncmFkaWVySW1nID4gZGl2Lm1pcnJvci0wMjk2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9ncmFkaWVudC9zYW1wbGUtZ3JhZGllbnQtZ3JheS5qcGcpIDBweCBjZW50ZXI7IH1cbiAgI2xlbnNfY29sb3JfYm94ICNkZWdyYWRpZXJBbmkgLmRlZ3JhZGllckltZyA+IGRpdi5taXJyb3ItMDc5NiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTgwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvZ3JhZGllbnQvc2FtcGxlLWdyYWRpZW50LWdyZWVuLmpwZykgMHB4IGNlbnRlcjsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICNwb2xhcml6ZXJBbmkgLnBvbGFyaXplckltZy5wb2xhcml6ZXJPZmYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xODBweDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyBhLmluZm9fdHJhbnNpdGlvbnMsICNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgLmNvbG9yLWl0ZW1zIGEuaW5mb19wb2xhcml6ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI5OHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luOiAxMHB4IDAgMCAwOyB9XG5cbi8qIGdyYWRpZW50L21pcnJvciBpbWFnZXMgb24gY2xpY2sgKi9cbi8qIGRlZmF1bHQgKi9cbi5zcGVjaWFsX2NvbG9ycyAuc2hvd2xlbnNjb2xvcjAyOTYsXG4uc3BlY2lhbF9jb2xvcnMgLnNob3dsZW5zY29sb3IwNzk2LFxuLnNwZWNpYWxfY29sb3JzIC5zaG93bGVuc2NvbG9yMTA5NSxcbi5zcGVjaWFsX2NvbG9ycyAuc2hvd2xlbnNjb2xvcjExOTUsXG4uc3BlY2lhbF9jb2xvcnMgLnNob3dsZW5zY29sb3IxMjk1LFxuLnNwZWNpYWxfY29sb3JzIC5zaG93bGVuc2NvbG9yMTM5NSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogaGlkZSBkZWZhdWx0IGlmIG90aGVyIGNvbG9yIHNlbGVjdGVkKi9cbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IwMjk2IC5zaG93bGVuc2NvbG9yMDE5NixcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IwNzk2IC5zaG93bGVuc2NvbG9yMDE5NixcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMDk1IC5zaG93bGVuc2NvbG9yMDk5NSxcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMTk1IC5zaG93bGVuc2NvbG9yMDk5NSxcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMjk1IC5zaG93bGVuc2NvbG9yMDk5NSxcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMzk1IC5zaG93bGVuc2NvbG9yMDk5NSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogc2hvdyBvdGhlciBoZWFkbGluZXMgKi9cbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IwMjk2IC5zaG93bGVuc2NvbG9yMDI5NixcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IwNzk2IC5zaG93bGVuc2NvbG9yMDc5NixcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMDk1IC5zaG93bGVuc2NvbG9yMTA5NSxcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMTk1IC5zaG93bGVuc2NvbG9yMTE5NSxcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMjk1IC5zaG93bGVuc2NvbG9yMTI5NSxcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMzk1IC5zaG93bGVuc2NvbG9yMTM5NSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIGltYWdlICovXG4jbGVuc19jb2xvcl9ib3ggLmltYWdlX2FuaSB7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiAyMDlweDsgfVxuXG4vKiBzdGFuZGFyZC9icm93biBncmFkaWVudCAqL1xuI2xlbnNfY29sb3JfYm94IC5pbWFnZV9hbmkuZ3JhZGllbnRMZW5zIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvZ3JhZGllbnRfaW1nLmpwZyk7IH1cblxuLyogZ3JleSBncmFkaWVudCovXG4jbGVuc19jb2xvcl9ib3gubGVuc2NvbG9yMDI5NiAuaW1hZ2VfYW5pLmdyYWRpZW50TGVucyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOXB4OyB9XG5cbi8qIHBpbG90Z3JlZW4gZ3JhZGllbnQqL1xuI2xlbnNfY29sb3JfYm94LmxlbnNjb2xvcjA3OTYgLmltYWdlX2FuaS5ncmFkaWVudExlbnMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MThweDsgfVxuXG4vKiBzdGFuZGFyZC9nb2xkIG1pcnJvciAqL1xuI2xlbnNfY29sb3JfYm94IC5pbWFnZV9hbmkubWlycm9yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvbWlycm9yX2ltZy5qcGcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0wOyB9XG5cbi8qIGdyZXkgbWlycm8qL1xuI2xlbnNfY29sb3JfYm94LmxlbnNjb2xvcjEwOTUgLmltYWdlX2FuaS5taXJyb3Ige1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMDlweDsgfVxuXG4vKiBwaWxvdGdyZWVuIG1pcnJvciovXG4jbGVuc19jb2xvcl9ib3gubGVuc2NvbG9yMTE5NSAuaW1hZ2VfYW5pLm1pcnJvciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQxOHB4OyB9XG5cbi8qIGJsdWUgbWlycm9yKi9cbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMjk1IC5pbWFnZV9hbmkubWlycm9yIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjI3cHg7IH1cblxuI2xlbnNfY29sb3JfYm94LmxlbnNjb2xvcjEzOTUgLmltYWdlX2FuaS5taXJyb3Ige1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC04MzZweDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmltYWdlX2FuaS5ncmFkaWVudExlbnMgYSwgI2xlbnNfY29sb3JfYm94IC5pbWFnZV9hbmkubWlycm9yIGEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA4cHg7XG4gIGJvdHRvbTogNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxcHggIzAwMCwgMCAwIDFweCAjMDAwLCAwIDAgM3B4ICMwMDAsIDAgMCAzcHggIzAwMDsgfVxuICAjbGVuc19jb2xvcl9ib3ggLmltYWdlX2FuaS5ncmFkaWVudExlbnMgYTpob3ZlciwgI2xlbnNfY29sb3JfYm94IC5pbWFnZV9hbmkubWlycm9yIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyAuaGVhZGxpbmUtbG9uZy5wcmljZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDgwcHg7XG4gIHJpZ2h0OiAxNjBweDtcbiAgbWFyZ2luOiAycHggMCAwIDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMwMDA7IH1cblxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAuY29sb3ItaXRlbXMgLmhlYWRsaW5lLWxvbmcgLnByaWNlLnByaWNlU3RlcDEge1xuICBjb2xvcjogIzAwMDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyAuaGVhZGxpbmUtbG9uZyAucHJpY2UucHJpY2VTdGVwMiB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgLmNvbG9yLWl0ZW1zIC5oZWFkbGluZS1sb25nIC5wcmljZSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyNjVweDtcbiAgcmlnaHQ6IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAyMnB4IDAgMCAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgLmNvbG9yLWl0ZW1zIC5zcGVjaWFsLWl0ZW0ge1xuICB3aWR0aDogODBweDsgfVxuXG5ib2R5Lmlzb2ZmaWNlbGVucyAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA2MTAgaHIsIGJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA2MTAgaHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFMDQwOyB9XG5cbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDgxMCBociwgYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDgxMCBociB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMDgyODI7IH1cblxuYm9keS5pc29mZmljZWxlbnMgI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMzEwIGhyLCBib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMzEwIGhyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzREOTlFQTsgfVxuXG5ib2R5Lmlzb2ZmaWNlbGVucyAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAxMTAgaHIsIGJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAxMTAgaHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzU0RjQwOyB9XG5cbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDIxMCBociwgYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDIxMCBociB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QjZFNzc7IH1cblxuYm9keS5pc29mZmljZWxlbnMgI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wNzEwIGhyLCBib2R5LmlzcmVmaW5lbWVudF9hYmMgI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wNzEwIGhyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYyODE3NzsgfVxuXG5ib2R5Lmlzb2ZmaWNlbGVucyAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA1MTAgaHIsIGJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA1MTAgaHIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUJBMDY4OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDYxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA2MTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDYxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY1QkY7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wNjMwIGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDYzMCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wNjMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRUE4MDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA2NTAgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wNjUwLFxuLnNxdWFyZVNlbGVjdGVkLmxjXzA2NTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFMDQwOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDgxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA4MTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDgxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUQ1RDU7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wODMwIGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDgzMCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wODMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VBQUNBQzsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA4NTAgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wODUwLFxuLnNxdWFyZVNlbGVjdGVkLmxjXzA4NTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTA4MjgyOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDMxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAzMTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDMxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDNERERjg7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMzMwIGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDMzMCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMzMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4QkJGMTsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAzNTAgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wMzUwLFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAzNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEQ5OUVBOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDUxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA1MTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDUxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOERGQ0M7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wNTMwIGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDUzMCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wNTMwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkyQzA5QTsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA1NTAgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wNTUwLFxuLnNxdWFyZVNlbGVjdGVkLmxjXzA1NTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUJBMDY4OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDU3NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA1NzUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDU3NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNDgwMzU7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wNTg1IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDU4NSxcbi5zcXVhcmVTZWxlY3RlZC5sY18wNTg1IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMwNzQzRDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA3MTAgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wNzEwLFxuLnNxdWFyZVNlbGVjdGVkLmxjXzA3MTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0FENUQyOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDczMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA3MzAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDczMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NkFCQTQ7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wNzUwIGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDc1MCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wNzUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYyODE3NzsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA3NzUgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wNzc1LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzA3NzUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQ1NzRBOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDc4NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA3ODUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDc4NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzUxNDg7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMjEwIGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDIxMCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMjEwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NFQ0VEMjsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAyMzAgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wMjMwLFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAyMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOUM5RUE0OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDI1MCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyNTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDI1MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QjZFNzc7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMjc1IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDI3NSxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMjc1IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNBM0Q0QTsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAyODUgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wMjg1LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAyODUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA0MTQ0OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDI5OSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyOTksXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDI5OSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDQxNDQ7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTEwIGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDExMCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTEwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QxQzRCRjsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAxMzAgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wMTMwLFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAxMzAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTM4QTgwOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDE1MCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAxNTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDE1MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NTRGNDA7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTc1IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDE3NSxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTc1IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ3MTQwMDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAxODUgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wMTg1LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAxODUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDMxNjA0OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDE5NiBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAxOTYsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDE5NiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzE2MDQ7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTk5IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDE5OSxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTk5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzMTYwNDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAxOTggaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wMTk4LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAxOTgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDMxNjA0OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDE5NyBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAxOTcsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDE5NyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzE2MDQ7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTk0IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDE5NCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTk0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzMTYwNDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAyOTcgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wMjk3LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAyOTcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA0MTQ0OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDI5NCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyOTQsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDI5NCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDQxNDQ7IH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMjk4IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDI5OCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMjk4IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDE0NDsgfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA3OTggaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wNzk4LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzA3OTgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM1MTQ4OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDk5NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA5OTUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDk5NSB7XG4gIGJhY2tncm91bmQ6ICNmYWZjYWE7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sICNmZWZlYjQgMCUsICM4YzdiMGYgNTAlLCAjM2QzNTA0IDEwMCUpO1xuICAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGJvdHRvbSB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCg5JSwgI2ZhZmNhYSksIGNvbG9yLXN0b3AoMjclLCAjY2NjMDI0KSwgY29sb3Itc3RvcCg0NiUsICMzYjMyMDQpLCBjb2xvci1zdG9wKDU2JSwgI2ZhZmNhYSksIGNvbG9yLXN0b3AoNzMlLCAjY2NjMDI0KSwgY29sb3Itc3RvcCgxMDAlLCAjM2IzMjA0KSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sICNmZWZlYjQgMCUsICM4YzdiMGYgNTAlLCAjM2QzNTA0IDEwMCUpO1xuICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZmVmZWI0IDAlLCAjOGM3YjBmIDUwJSwgIzNkMzUwNCAxMDAlKTtcbiAgLyogT3BlcmEgMTEuMTArICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZmVmZWI0IDAlLCAjOGM3YjBmIDUwJSwgIzNkMzUwNCAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZlZmViNCAwJSwgIzhjN2IwZiA1MCUsICMzZDM1MDQgMTAwJSk7XG4gIC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZhZmNhYScsIGVuZENvbG9yc3RyPScjM2IzMjA0JywgR3JhZGllbnRUeXBlPTEgKTtcbiAgLyogSUU2LTkgKi8gfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzEwOTUgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18xMDk1LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzEwOTUge1xuICBiYWNrZ3JvdW5kOiAjZGJlNmU2O1xuICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZmZmZmZmIDAlLCAjMzIzMjMyIDEwMCUpO1xuICAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgI2ZmZmZmZiksIGNvbG9yLXN0b3AoMCUsICNmZmZmZmYpLCBjb2xvci1zdG9wKDEwMCUsICMzMjMyMzIpKTtcbiAgLyogQ2hyb21lLFNhZmFyaTQrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2ZmZmZmZiAwJSwgIzMyMzIzMiAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2ZmZmZmZiAwJSwgIzMyMzIzMiAxMDAlKTtcbiAgLyogT3BlcmEgMTEuMTArICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZmZmZmZmIDAlLCAjMzIzMjMyIDEwMCUpO1xuICAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmZmZmIDAlLCAjMzIzMjMyIDEwMCUpO1xuICAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyNkYmU2ZTYnLCBlbmRDb2xvcnN0cj0nIzU5NWU1ZicsIEdyYWRpZW50VHlwZT0xICk7XG4gIC8qIElFNi05ICovIH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18xMTk1IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMTE5NSxcbi5zcXVhcmVTZWxlY3RlZC5sY18xMTk1IHtcbiAgYmFja2dyb3VuZDogI2E1ZmNlNDtcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2FkZmVlZiAwJSwgIzAwODE4MiA1MCUsICMwMDQ3NmYgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSwgI2FkZmVlZiksIGNvbG9yLXN0b3AoNTAlLCAjMDA4MTgyKSwgY29sb3Itc3RvcCgxMDAlLCAjMDA0NzZmKSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sICNhZGZlZWYgMCUsICMwMDgxODIgNTAlLCAjMDA0NzZmIDEwMCUpO1xuICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjYWRmZWVmIDAlLCAjMDA4MTgyIDUwJSwgIzAwNDc2ZiAxMDAlKTtcbiAgLyogT3BlcmEgMTEuMTArICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjYWRmZWVmIDAlLCAjMDA4MTgyIDUwJSwgIzAwNDc2ZiAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2FkZmVlZiAwJSwgIzAwODE4MiA1MCUsICMwMDQ3NmYgMTAwJSk7XG4gIC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2E1ZmNlNCcsIGVuZENvbG9yc3RyPScjMDA4NTk4JywgR3JhZGllbnRUeXBlPTEgKTtcbiAgLyogSUU2LTkgKi8gfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAxOTYgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18wMTk2LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAxOTYge1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM0MzE2MDQgMCUsIHJnYmEoNjcsIDIyLCA0LCAwLjgpIDUwJSwgcmdiYSg2NywgMjIsIDQsIDAuMikgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjNDMxNjA0KSwgY29sb3Itc3RvcCg1MCUsIHJnYmEoNjcsIDIyLCA0LCAwLjgpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDY3LCAyMiwgNCwgMC4yKSkpO1xuICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNDMxNjA0IDAlLCByZ2JhKDY3LCAyMiwgNCwgMC44KSA1MCUsIHJnYmEoNjcsIDIyLCA0LCAwLjIpIDEwMCUpO1xuICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjNDMxNjA0IDAlLCByZ2JhKDY3LCAyMiwgNCwgMC44KSA1MCUsIHJnYmEoNjcsIDIyLCA0LCAwLjIpIDEwMCUpO1xuICAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICM0MzE2MDQgMCUsIHJnYmEoNjcsIDIyLCA0LCAwLjgpIDUwJSwgcmdiYSg2NywgMjIsIDQsIDAuMikgMTAwJSk7XG4gIC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0MzE2MDQgMCUsIHJnYmEoNjcsIDIyLCA0LCAwLjgpIDUwJSwgcmdiYSg2NywgMjIsIDQsIDAuMikgMTAwJSk7XG4gIC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzQzMTYwNCcsIGVuZENvbG9yc3RyPScjMzM0MzE2MDQnLCBHcmFkaWVudFR5cGU9MCApO1xuICAvKiBJRTYtOSAqLyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDI5NiBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyOTYsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDI5NiB7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzQwNDE0NCAwJSwgcmdiYSg2NCwgNjUsIDY4LCAwLjgpIDUwJSwgcmdiYSg2NCwgNjUsIDY4LCAwLjIpIDEwMCUpO1xuICAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgIzQwNDE0NCksIGNvbG9yLXN0b3AoNTAlLCByZ2JhKDY0LCA2NSwgNjgsIDAuOCkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoNjQsIDY1LCA2OCwgMC4yKSkpO1xuICAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNDA0MTQ0IDAlLCByZ2JhKDY0LCA2NSwgNjgsIDAuOCkgNTAlLCByZ2JhKDY0LCA2NSwgNjgsIDAuMikgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICM0MDQxNDQgMCUsIHJnYmEoNjQsIDY1LCA2OCwgMC44KSA1MCUsIHJnYmEoNjQsIDY1LCA2OCwgMC4yKSAxMDAlKTtcbiAgLyogT3BlcmEgMTEuMTArICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjNDA0MTQ0IDAlLCByZ2JhKDY0LCA2NSwgNjgsIDAuOCkgNTAlLCByZ2JhKDY0LCA2NSwgNjgsIDAuMikgMTAwJSk7XG4gIC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0MDQxNDQgMCUsIHJnYmEoNjQsIDY1LCA2OCwgMC44KSA1MCUsIHJnYmEoNjQsIDY1LCA2OCwgMC4yKSAxMDAlKTtcbiAgLyogVzNDICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNDA0MTQ0JywgZW5kQ29sb3JzdHI9JyMzMzQwNDE0NCcsIEdyYWRpZW50VHlwZT0wICk7XG4gIC8qIElFNi05ICovIH1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wNzk2IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDc5Nixcbi5zcXVhcmVTZWxlY3RlZC5sY18wNzk2IHtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMzM1MTQ4IDAlLCByZ2JhKDUxLCA4MSwgNzIsIDAuOCkgNTAlLCByZ2JhKDUxLCA4MSwgNzIsIDAuMikgMTAwJSk7XG4gIC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjMzM1MTQ4KSwgY29sb3Itc3RvcCg1MCUsIHJnYmEoNTEsIDgxLCA3MiwgMC44KSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSg1MSwgODEsIDcyLCAwLjIpKSk7XG4gIC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMzMzUxNDggMCUsIHJnYmEoNTEsIDgxLCA3MiwgMC44KSA1MCUsIHJnYmEoNTEsIDgxLCA3MiwgMC4yKSAxMDAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzMzNTE0OCAwJSwgcmdiYSg1MSwgODEsIDcyLCAwLjgpIDUwJSwgcmdiYSg1MSwgODEsIDcyLCAwLjIpIDEwMCUpO1xuICAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICMzMzUxNDggMCUsIHJnYmEoNTEsIDgxLCA3MiwgMC44KSA1MCUsIHJnYmEoNTEsIDgxLCA3MiwgMC4yKSAxMDAlKTtcbiAgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzMzNTE0OCAwJSwgcmdiYSg1MSwgODEsIDcyLCAwLjgpIDUwJSwgcmdiYSg1MSwgODEsIDcyLCAwLjIpIDEwMCUpO1xuICAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMzMzUxNDgnLCBlbmRDb2xvcnN0cj0nIzMzMzM1MTQ4JywgR3JhZGllbnRUeXBlPTAgKTtcbiAgLyogSUU2LTkgKi8gfVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzEyOTUgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18xMjk1LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzEyOTUge1xuICBiYWNrZ3JvdW5kOiAjNjBkYWUyO1xuICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjNDdiNGQwIDAlLCAjMjA1NTkyIDUwJSwgIzE0MjU2ZiAxMDAlKTtcbiAgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCAjNDdiNGQwKSwgY29sb3Itc3RvcCg1MCUsICMyMDU1OTIpLCBjb2xvci1zdG9wKDEwMCUsICMxNDI1NmYpKTtcbiAgLyogQ2hyb21lLFNhZmFyaTQrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgIzQ3YjRkMCAwJSwgIzIwNTU5MiA1MCUsICMxNDI1NmYgMTAwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sICM0N2I0ZDAgMCUsICMyMDU1OTIgNTAlLCAjMTQyNTZmIDEwMCUpO1xuICAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChib3R0b20sICM0N2I0ZDAgMCUsICMyMDU1OTIgNTAlLCAjMTQyNTZmIDEwMCUpO1xuICAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNDdiNGQwIDAlLCAjMjA1NTkyIDUwJSwgIzE0MjU2ZiAxMDAlKTtcbiAgLyogVzNDICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNjBkYWUyJywgZW5kQ29sb3JzdHI9JyM2MGRhZTInLCBHcmFkaWVudFR5cGU9MSApOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMTM5NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzEzOTUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMTM5NSB7XG4gIGJhY2tncm91bmQ6ICNmZjljMDc7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2Y3OWY5ZiAwJSwgI2I3NGI0YiA1MCUsICM3YjIyMjIgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCAjZjc5ZjlmKSwgY29sb3Itc3RvcCg1MCUsICNiNzRiNGIpLCBjb2xvci1zdG9wKDEwMCUsICM3YjIyMjIpKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZjc5ZjlmIDAlLCAjYjc0YjRiIDUwJSwgIzdiMjIyMiAxMDAlKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2Y3OWY5ZiAwJSwgI2I3NGI0YiA1MCUsICM3YjIyMjIgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZjc5ZjlmIDAlLCAjYjc0YjRiIDUwJSwgIzdiMjIyMiAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2Y3OWY5ZiAwJSwgI2I3NGI0YiA1MCUsICM3YjIyMjIgMTAwJSk7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNmZjljMDcnLCBlbmRDb2xvcnN0cj0nI2ZmMDQwNCcsIEdyYWRpZW50VHlwZT0xKTsgfVxuXG4jbGVucy10aW50aW5nLWRlZ3JhZGVkIC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTk4IGhyLFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAxOTgge1xuICBiYWNrZ3JvdW5kOiAjNDMxNjA0O1xuICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjNDMxNjA0IDAlLCAjNDMxNjA0IDklLCAjMmIyYjJiIDI0JSwgIzExMTExMSA0MCUsICMwMDAwMDAgNDklLCAjMmMyYzJjIDUwJSwgIzQ3NDc0NyA2MSUsICM2NjY2NjYgNzUlLCAjNTk1OTU5IDg4JSwgIzMzMzMzMyA5NyUsICM4Nzg3ODcgOTklKTtcbiAgLyogRkYzLjYtMTUgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNDMxNjA0IDAlLCAjNDMxNjA0IDklLCAjMmIyYjJiIDI0JSwgIzExMTExMSA0MCUsICMwMDAwMDAgNDklLCAjMmMyYzJjIDUwJSwgIzQ3NDc0NyA2MSUsICM2NjY2NjYgNzUlLCAjNTk1OTU5IDg4JSwgIzMzMzMzMyA5NyUsICM4Nzg3ODcgOTklKTtcbiAgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzQzMTYwNCAwJSwgIzQzMTYwNCA5JSwgIzJiMmIyYiAyNCUsICMxMTExMTEgNDAlLCAjMDAwMDAwIDQ5JSwgIzJjMmMyYyA1MCUsICM0NzQ3NDcgNjElLCAjNjY2NjY2IDc1JSwgIzU5NTk1OSA4OCUsICMzMzMzMzMgOTclLCAjODc4Nzg3IDk5JSk7XG4gIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzQzMTYwNCcsIGVuZENvbG9yc3RyPScjODc4Nzg3JyxHcmFkaWVudFR5cGU9MCApOyB9XG5cbiNsZW5zLXRpbnRpbmctZGVncmFkZWQgLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAyOTggaHIsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDE5OCB7XG4gIGJhY2tncm91bmQ6ICM0MDQxNDQ7XG4gIC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM0MDQxNDQgMCUsICM0MzE2MDQgOSUsICMyYjJiMmIgMjQlLCAjMTExMTExIDQwJSwgIzAwMDAwMCA0OSUsICMyYzJjMmMgNTAlLCAjNDc0NzQ3IDYxJSwgIzY2NjY2NiA3NSUsICM1OTU5NTkgODglLCAjMzMzMzMzIDk3JSwgIzg3ODc4NyA5OSUpO1xuICAvKiBGRjMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICM0MDQxNDQgMCUsICM0MzE2MDQgOSUsICMyYjJiMmIgMjQlLCAjMTExMTExIDQwJSwgIzAwMDAwMCA0OSUsICMyYzJjMmMgNTAlLCAjNDc0NzQ3IDYxJSwgIzY2NjY2NiA3NSUsICM1OTU5NTkgODglLCAjMzMzMzMzIDk3JSwgIzg3ODc4NyA5OSUpO1xuICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNDA0MTQ0IDAlLCAjNDMxNjA0IDklLCAjMmIyYjJiIDI0JSwgIzExMTExMSA0MCUsICMwMDAwMDAgNDklLCAjMmMyYzJjIDUwJSwgIzQ3NDc0NyA2MSUsICM2NjY2NjYgNzUlLCAjNTk1OTU5IDg4JSwgIzMzMzMzMyA5NyUsICM4Nzg3ODcgOTklKTtcbiAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNDA0MTQ0JywgZW5kQ29sb3JzdHI9JyM4Nzg3ODcnLEdyYWRpZW50VHlwZT0wICk7IH1cblxuI2xlbnMtdGludGluZy1kZWdyYWRlZCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDc5OCBocixcbi5zcXVhcmVTZWxlY3RlZC5sY18wNzk4IHtcbiAgYmFja2dyb3VuZDogIzMzNTE0ODtcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzMzNTE0OCAwJSwgIzQzMTYwNCA5JSwgIzJiMmIyYiAyNCUsICMxMTExMTEgNDAlLCAjMDAwMDAwIDQ5JSwgIzJjMmMyYyA1MCUsICM0NzQ3NDcgNjElLCAjNjY2NjY2IDc1JSwgIzU5NTk1OSA4OCUsICMzMzMzMzMgOTclLCAjODc4Nzg3IDk5JSk7XG4gIC8qIEZGMy42LTE1ICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzMzNTE0OCAwJSwgIzQzMTYwNCA5JSwgIzJiMmIyYiAyNCUsICMxMTExMTEgNDAlLCAjMDAwMDAwIDQ5JSwgIzJjMmMyYyA1MCUsICM0NzQ3NDcgNjElLCAjNjY2NjY2IDc1JSwgIzU5NTk1OSA4OCUsICMzMzMzMzMgOTclLCAjODc4Nzg3IDk5JSk7XG4gIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMzMzUxNDggMCUsICM0MzE2MDQgOSUsICMyYjJiMmIgMjQlLCAjMTExMTExIDQwJSwgIzAwMDAwMCA0OSUsICMyYzJjMmMgNTAlLCAjNDc0NzQ3IDYxJSwgIzY2NjY2NiA3NSUsICM1OTU5NTkgODglLCAjMzMzMzMzIDk3JSwgIzg3ODc4NyA5OSUpO1xuICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMzMzUxNDgnLCBlbmRDb2xvcnN0cj0nIzg3ODc4NycsR3JhZGllbnRUeXBlPTAgKTsgfVxuXG5ib2R5LmluZGV4MTYwIC5oaWRlRm9ySW5kZXgxNjAge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5ib2R5LmluZGV4MTYwIC5zaG93Rm9ySW5kZXgxNjAge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbmJvZHkuaW5kZXgxNjcgLmhpZGVGb3JJbmRleDE2NyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbmJvZHkuaW5kZXgxNjcgLnNob3dGb3JJbmRleDE2NyB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuYm9keS5pbmRleDE3NCAuaGlkZUZvckluZGV4MTc0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuYm9keS5pbmRleDE3NCAuc2hvd0ZvckluZGV4MTc0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG5ib2R5LmlzcmVmaW5lbWVudF9zZWlrb19zaW5nbGVWaXNpb24gLmhpZGVJc1JlZmluZW1lbnRfc2Vpa29fc2luZ2xlVmlzaW9uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiNsZW5zLXRpbnRpbmctbm90aW50aW5nIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2xlbnMtdGludGluZy1ub3RpbnRpbmcge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICNsZW5zLXRpbnRpbmctbm90aW50aW5nIC50YWJzLXRpdGxlIHtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIG1heC13aWR0aDogMTQwcHggIWltcG9ydGFudDsgfVxuICAjbGVucy10aW50aW5nLW5vdGludGluZyBociB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgZ3JlZW4gIWltcG9ydGFudDsgfVxuICAjbGVucy10aW50aW5nLW5vdGludGluZyAudGFiQnVsbGV0cyB7XG4gICAgbGVmdDogMXB4ICFpbXBvcnRhbnQ7IH1cblxuI2xlbnMtdGludGluZy1kZWdyYWRlZCA+IGRpdi5ncmlkLXgsXG4jbGVucy10aW50aW5nLWNvbG9yZWQgPiBkaXYuZ3JpZC14LFxuI2xlbnMtdGludGluZy1taXJyb3IgPiBkaXYuZ3JpZC14LFxuI2xlbnMtdGludGluZy1waG90b2Nocm9taWMgPiBkaXYuZ3JpZC14LFxuI2xlbnMtdGludGluZy1wb2xhcml6ZWQgPiBkaXYuZ3JpZC14LFxuI2xlbnMtdGludGluZy1jb2xvcmVkID4gZGl2LmdyaWQteCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwOyB9XG5cbiNsZW5zLXRpbnRpbmctZGVncmFkZWQgLnNlY29uZENvbHVtbixcbiNsZW5zLXRpbnRpbmctY29sb3JlZCAuc2Vjb25kQ29sdW1uLFxuI2xlbnMtdGludGluZy1taXJyb3IgLnNlY29uZENvbHVtbixcbiNsZW5zLXRpbnRpbmctcGhvdG9jaHJvbWljIC5zZWNvbmRDb2x1bW4sXG4jbGVucy10aW50aW5nLXBvbGFyaXplZCAuc2Vjb25kQ29sdW1uLFxuI2xlbnMtdGludGluZy1jb2xvcmVkIC5zZWNvbmRDb2x1bW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2xlbnMtdGludGluZy1kZWdyYWRlZCAuc2Vjb25kQ29sdW1uLFxuICAgICNsZW5zLXRpbnRpbmctY29sb3JlZCAuc2Vjb25kQ29sdW1uLFxuICAgICNsZW5zLXRpbnRpbmctbWlycm9yIC5zZWNvbmRDb2x1bW4sXG4gICAgI2xlbnMtdGludGluZy1waG90b2Nocm9taWMgLnNlY29uZENvbHVtbixcbiAgICAjbGVucy10aW50aW5nLXBvbGFyaXplZCAuc2Vjb25kQ29sdW1uLFxuICAgICNsZW5zLXRpbnRpbmctY29sb3JlZCAuc2Vjb25kQ29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuI2xlbnMtdGludGluZy1wb2xhcml6ZWQgaDUsICNsZW5zLXRpbnRpbmctcG9sYXJpemVkIGg2LCAjbGVucy10aW50aW5nLXBvbGFyaXplZCBwLFxuI2xlbnMtdGludGluZy1taXJyb3IgaDUsXG4jbGVucy10aW50aW5nLW1pcnJvciBoNixcbiNsZW5zLXRpbnRpbmctbWlycm9yIHAsXG4jbGVucy10aW50aW5nLXBob3RvY2hyb21pYyBoNSxcbiNsZW5zLXRpbnRpbmctcGhvdG9jaHJvbWljIGg2LFxuI2xlbnMtdGludGluZy1waG90b2Nocm9taWMgcCxcbiNsZW5zLXRpbnRpbmctZGVncmFkZWQgaDUsXG4jbGVucy10aW50aW5nLWRlZ3JhZGVkIGg2LFxuI2xlbnMtdGludGluZy1kZWdyYWRlZCBwLFxuI2xlbnMtdGludGluZy1kZWdyYWRlZCBoNSxcbiNsZW5zLXRpbnRpbmctZGVncmFkZWQgaDYsXG4jbGVucy10aW50aW5nLWRlZ3JhZGVkIHAsXG4jbGVucy10aW50aW5nLWNvbG9yZWQgaDUsXG4jbGVucy10aW50aW5nLWNvbG9yZWQgaDYsXG4jbGVucy10aW50aW5nLWNvbG9yZWQgcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jbGVuc19jb2xvcl9ib3gge1xuICAvKmRpc2FibGVkIG9wdGlvbnMqLyB9XG4gICNsZW5zX2NvbG9yX2JveCAuaXRlbS5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAjbGVuc19jb2xvcl9ib3ggLml0ZW0uZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcbiAgICBjb2xvcjogcmVkO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29udGVudDogXCJcXGYwNWVcIjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgdG9wOiA0cHg7IH1cbiAgI2xlbnNfY29sb3JfYm94ICNsZW5zLXRpbnRpbmctdGFicyAudGFicy10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDBweCAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgICAgI2xlbnNfY29sb3JfYm94ICNsZW5zLXRpbnRpbmctdGFicyAudGFicy10aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2xlbnNfY29sb3JfYm94ICNsZW5zLXRpbnRpbmctdGFicyAudGFicy10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUVBRUE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgICAgICNsZW5zX2NvbG9yX2JveCAjbGVucy10aW50aW5nLXRhYnMgLnRhYnMtdGl0bGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgICAjbGVuc19jb2xvcl9ib3ggI2xlbnMtdGludGluZy10YWJzIC50YWJzLXRpdGxlIGE6bm90KHNwYW4udGFiLXRpdGxlLWhlYWRpbmcpIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgaW5zZXQgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAjbGVuc19jb2xvcl9ib3ggI2xlbnMtdGludGluZy10YWJzIC50YWJzLXRpdGxlIGE6bm90KHNwYW4udGFiLXRpdGxlLWhlYWRpbmcpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI2xlbnNfY29sb3JfYm94ICNsZW5zLXRpbnRpbmctdGFicyAudGFicy10aXRsZSBhOm5vdChzcGFuLnRhYi10aXRsZS1oZWFkaW5nKSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH0gfVxuICAgICNsZW5zX2NvbG9yX2JveCAjbGVucy10aW50aW5nLXRhYnMgLnRhYnMtdGl0bGUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsXG4gICAgI2xlbnNfY29sb3JfYm94ICNsZW5zLXRpbnRpbmctdGFicyAudGFicy10aXRsZSA+IC5hY2NvcmRpb24tdGl0bGU6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI2xlbnNfY29sb3JfYm94ICNsZW5zLXRpbnRpbmctdGFicyAudGFicy10aXRsZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSxcbiAgICAgICAgI2xlbnNfY29sb3JfYm94ICNsZW5zLXRpbnRpbmctdGFicyAudGFicy10aXRsZSA+IC5hY2NvcmRpb24tdGl0bGU6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgI2xlbnNfY29sb3JfYm94ICNsZW5zLXRpbnRpbmctdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMHB4IDBweDsgfVxuICAgICNsZW5zX2NvbG9yX2JveCAjbGVucy10aW50aW5nLXRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGEge1xuICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI2xlbnNfY29sb3JfYm94ICNsZW5zLXRpbnRpbmctdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAjbGVuc19jb2xvcl9ib3ggI2xlbnMtdGludGluZy10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHNwYW4ge1xuICAgICAgICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzNENzBCMjtcbiAgICAgICAgICBwYWRkaW5nOiAwLjA2MjVyZW0gMC4xMjVyZW07IH0gfVxuXG5zcGFuLmxpbmstYm9yZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4jbGVucy10aW50aW5nLWNvbG9yZWQgLmxlbnNfY29sb3IgPiBkaXYge1xuICBwYWRkaW5nOiAwIDEwcHggMTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNsZW5zLXRpbnRpbmctY29sb3JlZCAubGVuc19jb2xvciA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuI2xlbnMtdGludGluZy1jb2xvcmVkIC5zZWNvbmRDb2x1bW4ge1xuICBwYWRkaW5nOiAwcHggMCAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgI2xlbnMtdGludGluZy1jb2xvcmVkIC5zZWNvbmRDb2x1bW4ge1xuICAgICAgYm9yZGVyLXRvcDogI2ViZWJlYiAycHggc29saWQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNsZW5zLXRpbnRpbmctY29sb3JlZCAuc2Vjb25kQ29sdW1uIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjbGVucy10aW50aW5nLWNvbG9yZWQgLnNlY29uZENvbHVtbiA+IGRpdiB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgI2xlbnMtdGludGluZy1jb2xvcmVkIC5zZWNvbmRDb2x1bW4gPiBkaXYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbiNsZW5zLXRpbnRpbmctY29sb3JlZCAuY29sb3ItaXRlbXMgLmhlYWRsaW5lIHtcbiAgbWluLXdpZHRoOiA2NHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjbGVucy10aW50aW5nLWNvbG9yZWQgLmNvbG9yLWl0ZW1zIC5oZWFkbGluZSB7XG4gICAgICBtaW4td2lkdGg6IDgwcHg7IH0gfVxuXG4jbGVucy10aW50aW5nLW1pcnJvciAuc2Vjb25kQ29sdW1uLFxuI2xlbnMtdGludGluZy1kZWdyYWRlZCAuc2Vjb25kQ29sdW1uLFxuI2xlbnMtdGludGluZy1jb2xvcmVkIC5zZWNvbmRDb2x1bW4ge1xuICB3aWR0aDogMzAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4jbGVucy10aW50aW5nLWRlZ3JhZGVkICNkZWdyYWRpZXJBbmksXG4jbGVucy10aW50aW5nLW1pcnJvciAubWlycm9yaW1hZ2UsXG4jbGVucy10aW50aW5nLXBvbGFyaXplZCAudGVzdGluZy1wb2xhcml6ZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjbGVucy10aW50aW5nLWRlZ3JhZGVkICNkZWdyYWRpZXJBbmksXG4gICAgI2xlbnMtdGludGluZy1taXJyb3IgLm1pcnJvcmltYWdlLFxuICAgICNsZW5zLXRpbnRpbmctcG9sYXJpemVkIC50ZXN0aW5nLXBvbGFyaXplZCB7XG4gICAgICBkaXNwbGF5OiBpbml0aWFsOyB9IH1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4jbGVucy10aW50aW5nLXBob3RvY2hyb21pYyAjTEVOU0NPTE9SX1NVTk1PVElPTixcbiNsZW5zLXRpbnRpbmctcGhvdG9jaHJvbWljICNMRU5TQ09MT1JfVFJBTlNJVElPTlNJR05BVFVSRSB7XG4gIGJvcmRlci1ib3R0b206IDFweCAjY2NjIHNvbGlkO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC40cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2xlbnMtdGludGluZy1waG90b2Nocm9taWMgI0xFTlNDT0xPUl9TVU5NT1RJT04sXG4gICAgI2xlbnMtdGludGluZy1waG90b2Nocm9taWMgI0xFTlNDT0xPUl9UUkFOU0lUSU9OU0lHTkFUVVJFIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuI2xlbnMtdGludGluZy1waG90b2Nocm9taWMgLnNlY29uZENvbHVtbiB7XG4gIHdpZHRoOiAzMDBweDsgfVxuXG4jbGVucy10aW50aW5nLXBob3RvY2hyb21pYyAuaXRlbSBociB7XG4gIGhlaWdodDogMjZweCAhaW1wb3J0YW50OyB9XG5cbiNMRU5TQ09MT1JfU1VOTU9USU9OIHVsLFxuI0xFTlNDT0xPUl9UUkFOU0lUSU9OU0lHTkFUVVJFIHVsLFxuI0xFTlNDT0xPUl9UUkFOU0lUSU9OWFRSQUNUSVZFIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gICNMRU5TQ09MT1JfU1VOTU9USU9OIHVsIGxpLFxuICAjTEVOU0NPTE9SX1RSQU5TSVRJT05TSUdOQVRVUkUgdWwgbGksXG4gICNMRU5TQ09MT1JfVFJBTlNJVElPTlhUUkFDVElWRSB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG5cbiNMRU5TQ09MT1JfU1VOTU9USU9OIC5jYWxsb3V0LnByaW1hcnkgcCxcbiNMRU5TQ09MT1JfVFJBTlNJVElPTlNJR05BVFVSRSAuY2FsbG91dC5wcmltYXJ5IHAsXG4jTEVOU0NPTE9SX1RSQU5TSVRJT05YVFJBQ1RJVkUgLmNhbGxvdXQucHJpbWFyeSBwIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG4jTEVOU0NPTE9SX1NVTk1PVElPTiAuY29udGVudC1icmFuZCxcbiNMRU5TQ09MT1JfVFJBTlNJVElPTlNJR05BVFVSRSAuY29udGVudC1icmFuZCxcbiNMRU5TQ09MT1JfVFJBTlNJVElPTlhUUkFDVElWRSAuY29udGVudC1icmFuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMXJlbSAwcmVtO1xuICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNMRU5TQ09MT1JfU1VOTU9USU9OIC5jb250ZW50LWJyYW5kLFxuICAgICNMRU5TQ09MT1JfVFJBTlNJVElPTlNJR05BVFVSRSAuY29udGVudC1icmFuZCxcbiAgICAjTEVOU0NPTE9SX1RSQU5TSVRJT05YVFJBQ1RJVkUgLmNvbnRlbnQtYnJhbmQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMS41cmVtOyB9IH1cblxuI0xFTlNDT0xPUl9TVU5NT1RJT04gLmJyYW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTQwcHg7XG4gIGhlaWdodDogNTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9sb2dvL2xvZ29zX3RyYW5zaXRpb24ucG5nKSAtMnB4IC0ycHggbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAjTEVOU0NPTE9SX1NVTk1PVElPTiAuYnJhbmQgLmluZm9MaW5rIHtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogNXB4OyB9XG5cbiNMRU5TQ09MT1JfVFJBTlNJVElPTlNJR05BVFVSRSAuYnJhbmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxNDBweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL2xvZ28vbG9nb3NfcHJlbWl1bS5wbmcpIDBweCAwcHggbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAjTEVOU0NPTE9SX1RSQU5TSVRJT05TSUdOQVRVUkUgLmJyYW5kIC5pbmZvTGluayB7XG4gICAgdG9wOiAwcHg7XG4gICAgcmlnaHQ6IDBweDsgfVxuXG4jTEVOU0NPTE9SX1RSQU5TSVRJT05YVFJBQ1RJVkUgLmJyYW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTQwcHg7XG4gIGhlaWdodDogNTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9sb2dvL2xvZ29zX3h0cmFjdGl2ZS5wbmcpIDE3cHggMTdweCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBiYWNrZ3JvdW5kLXNpemU6IDc1JTsgfVxuICAjTEVOU0NPTE9SX1RSQU5TSVRJT05YVFJBQ1RJVkUgLmJyYW5kIC5pbmZvTGluayB7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDEwcHg7IH1cblxuLmJyYW5kIC5pbmZvTGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLmJyYW5kIC5pbmZvTGluazo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGNvbG9yOiAjZGRkO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29udGVudDogXCJcXGYwNTlcIjtcbiAgICBzcGVhazogbm9uZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbi5taXJyb3JpbWFnZSB7XG4gIHdpZHRoOiAyOThweDtcbiAgaGVpZ2h0OiAxODBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvbWlycm9yL3NhbXBsZS1taXJyb3ItZ29sZC5qcGcpIDBweCBjZW50ZXI7IH1cbiAgLm1pcnJvcmltYWdlID4gZGl2Lm1pcnJvci0wOTk1IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9taXJyb3Ivc2FtcGxlLW1pcnJvci1nb2xkLmpwZykgMHB4IGNlbnRlcjsgfVxuICAubWlycm9yaW1hZ2UgPiBkaXYubWlycm9yLTEwOTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL21pcnJvci9zYW1wbGUtbWlycm9yLXNpbHZlci5qcGcpIDBweCBjZW50ZXI7IH1cbiAgLm1pcnJvcmltYWdlID4gZGl2Lm1pcnJvci0xMTk1IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9taXJyb3Ivc2FtcGxlLW1pcnJvci1ncmVlbi5qcGcpIDBweCBjZW50ZXI7IH1cbiAgLm1pcnJvcmltYWdlID4gZGl2Lm1pcnJvci0xMjk1IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9taXJyb3Ivc2FtcGxlLW1pcnJvci1ibHVlLmpwZykgMHB4IGNlbnRlcjsgfVxuICAubWlycm9yaW1hZ2UgPiBkaXYubWlycm9yLTEzOTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL21pcnJvci9zYW1wbGUtbWlycm9yLXJlZC5qcGcpIDBweCBjZW50ZXI7IH1cblxuLnRhYnMtcG9sYXJpemVkIHtcbiAgd2lkdGg6IDI5N3B4OyB9XG4gIC50YWJzLXBvbGFyaXplZCAjY29sbGFwc2luZy10YWJzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAudGFicy1wb2xhcml6ZWQgI2NvbGxhcHNpbmctdGFicyBsaSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0OyB9XG4gICAgICAudGFicy1wb2xhcml6ZWQgI2NvbGxhcHNpbmctdGFicyBsaSBhOmhvdmVyLCAudGFicy1wb2xhcml6ZWQgI2NvbGxhcHNpbmctdGFicyBsaSBhOmZvY3VzLCAudGFicy1wb2xhcml6ZWQgI2NvbGxhcHNpbmctdGFicyBsaSBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlNDExMztcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgIC50YWJzLXBvbGFyaXplZCAjY29sbGFwc2luZy10YWJzIGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH1cbiAgICAudGFicy1wb2xhcml6ZWQgI2NvbGxhcHNpbmctdGFicyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTQycHg7IH1cbiAgLnRhYnMtcG9sYXJpemVkIC50YWJzLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4jdHJhbnNpdGlvbkFuaSAuc2xpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4udWktc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDMycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gIHdpZHRoOiA0OHB4O1xuICBtYXJnaW46IC0xMHB4IDAgMCAtMjRweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAxMDBtcyBlYXNlLWluLW91dCwgbWFyZ2luIDEwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi51aS1zbGlkZXItaGFuZGxlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbnRlbnQ6ICc8PCc7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxlZnQ6IC0zcHg7XG4gIHRvcDogMnB4O1xuICB0cmFuc2l0aW9uOiBsZWZ0IDEwMG1zIGVhc2UtaW4tb3V0LCBjb2xvciAxMDBtcyBlYXNlLWluLW91dDsgfVxuXG4udWktc2xpZGVyLWhhbmRsZTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbnRlbnQ6ICc+Pic7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDEzcHg7XG4gIHJpZ2h0OiAtM3B4O1xuICB0b3A6IDJweDtcbiAgdHJhbnNpdGlvbjogcmlnaHQgMTAwbXMgZWFzZS1pbi1vdXQsIGNvbG9yIDEwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5OyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLmpzcy1sZW5zZXNDYXJkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLmpzcy1sZW5zZXNDYXJkIC50YWJzLXRpdGxlIHtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiAxMTVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5qc3MtbGVuc2VzQ2FyZCAudGFicy10aXRsZSB7XG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7IH0gfVxuICAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5qc3MtbGVuc2VzQ2FyZCAuY2VsbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuanNzLWxlbnNlc0NhcmQgLmNlbGw6Zmlyc3QtY2hpbGQsICNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLmpzcy1sZW5zZXNDYXJkIC5jZWxsOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nOiAwLjNyZW0gMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLmpzcy1sZW5zZXNDYXJkIC50YWItdGl0bGUtaGVhZGluZyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5qc3MtbGVuc2VzQ2FyZCAuaXRlbSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwLjVyZW0gYXV0bzsgfVxuICAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5qc3MtbGVuc2VzQ2FyZCAucHJpY2UtYm94IHtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjRkJGQkZCOyB9XG4gICAgI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuanNzLWxlbnNlc0NhcmQgLnByaWNlLWJveCAucmVndWxhclByaWNlIHtcbiAgICAgIG1hcmdpbjogMCAwLjI1cmVtOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuYnV0dG9uU2F2ZSB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbiNsZW5zX2NvbG9yX2JveCAuYWNjb3JkaW9uLWNvbnRlbnQgc3BhbiwgI2xlbnNfY29sb3JfYm94IC5hY2NvcmRpb24tY29udGVudCBwLCAjbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50IGgxLCAjbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50IGgyLCAjbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50IGgzLCAjbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50IGg0LCAjbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50IC5jYXJkc19ibG9jayAuZ3JpZC14IC5jZWxsIC5jYXJkIC5jYXJkLXNlY3Rpb24gLnRpdGxlLCAuY2FyZHNfYmxvY2sgLmdyaWQteCAuY2VsbCAuY2FyZCAuY2FyZC1zZWN0aW9uICNsZW5zX2NvbG9yX2JveCAuYWNjb3JkaW9uLWNvbnRlbnQgLnRpdGxlLCAjbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50IC5jaGVja291dF9zdW1tYXJ5IC5hY2NvcmRpb24gPiAuYWNjb3JkaW9uLXRpdGxlLCAuY2hlY2tvdXRfc3VtbWFyeSAjbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50IC5hY2NvcmRpb24gPiAuYWNjb3JkaW9uLXRpdGxlLCAjbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50IGg1LCAjbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50IGg2IHtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbiNsZW5zLXRpbnRpbmctY29sb3JlZCAubGVuc2VzQ2FyZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAjbGVucy10aW50aW5nLWNvbG9yZWQgLmxlbnNlc0NhcmQgLnRhYnMtdGl0bGUge1xuICAgIG1heC13aWR0aDogMTE0cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2xlbnMtdGludGluZy1jb2xvcmVkIC5sZW5zZXNDYXJkIC50YWJzLXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzdweDtcbiAgICAgICAgbWluLXdpZHRoOiAxMzBweDsgfSB9XG4gICNsZW5zLXRpbnRpbmctY29sb3JlZCAubGVuc2VzQ2FyZCAjdGFiVGFyZ2V0R29sZC1sYWJlbCA+IC5ncmlkLXgge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAjbGVucy10aW50aW5nLWNvbG9yZWQgLmxlbnNlc0NhcmQgLmNlbGwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNsZW5zLXRpbnRpbmctY29sb3JlZCAubGVuc2VzQ2FyZCAuY2VsbDpmaXJzdC1jaGlsZCwgI2xlbnMtdGludGluZy1jb2xvcmVkIC5sZW5zZXNDYXJkIC5jZWxsOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nOiAwLjNyZW0gMDsgfVxuICAjbGVucy10aW50aW5nLWNvbG9yZWQgLmxlbnNlc0NhcmQgLmNlbGw6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1heC13aWR0aDogNTBweDtcbiAgICBmbGV4OiAxIDAgY29udGVudDsgfVxuICAgICNsZW5zLXRpbnRpbmctY29sb3JlZCAubGVuc2VzQ2FyZCAuY2VsbDpub3QoOmZpcnN0LWNoaWxkKSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAjbGVucy10aW50aW5nLWNvbG9yZWQgLmxlbnNlc0NhcmQgLml0ZW0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMC41cmVtIGF1dG87IH1cbiAgI2xlbnMtdGludGluZy1jb2xvcmVkIC5sZW5zZXNDYXJkIGEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG5cbi8qVGhpcyBibG9jayBmaXhlZCB0aGUgcHJvYmxlbSBvZiB0aGUgcmFkaW9idXR0b25zIGNhcmRzIG9uIGxlbnNlcyBjb2xvciB0byBtb2JpbGUgYWR2aWNlcyovXG4jcHJvZHVjdC1jb250YWluZXIgI2xlbnNfY29sb3JfYm94IC5wcm9kdWN0LW9wdGlvbi10YWJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgbGkudGFicy10aXRsZTpub3QoLmlzLWFjdGl2ZSkgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWNpcmNsZS10aGluIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG5cbiNwcm9kdWN0LWNvbnRhaW5lciAjbGVuc19jb2xvcl9ib3ggLnByb2R1Y3Qtb3B0aW9uLXRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSBsaS50YWJzLXRpdGxlOm5vdCguaXMtYWN0aXZlKSAudGFiQnVsbGV0cyBzcGFuLmljb24tZG90LWNpcmNsZS1vIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcHJvZHVjdC1jb250YWluZXIgI2xlbnNfY29sb3JfYm94IC5wcm9kdWN0LW9wdGlvbi10YWJzOm5vdCguYWNjb3JkaW9uLWl0ZW0pLnRhYnMtdGl0bGUuaXMtYWN0aXZlIC50YWJCdWxsZXRzIHNwYW4uaWNvbi1jaXJjbGUtdGhpbiwgI3Byb2R1Y3QtY29udGFpbmVyICNsZW5zX2NvbG9yX2JveCAucHJvZHVjdC1vcHRpb24tdGFiczpub3QoLmFjY29yZGlvbi1pdGVtKS50YWJzLXRpdGxlLmVuYWJsZWQ6aG92ZXIgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWNpcmNsZS10aGluLFxuI3Byb2R1Y3QtY29udGFpbmVyICNsZW5zX2NvbG9yX2JveCAucHJvZHVjdC1vcHRpb24tdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgbGkudGFicy10aXRsZS5pcy1hY3RpdmUgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWNpcmNsZS10aGluLFxuI3Byb2R1Y3QtY29udGFpbmVyICNsZW5zX2NvbG9yX2JveCAucHJvZHVjdC1vcHRpb24tdGFicyAudGFicy1wYW5lbC5pcy1hY3RpdmUgbGkudGFicy10aXRsZS5pcy1hY3RpdmUgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWNpcmNsZS10aGluIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcHJvZHVjdC1jb250YWluZXIgI2xlbnNfY29sb3JfYm94IC5wcm9kdWN0LW9wdGlvbi10YWJzOm5vdCguYWNjb3JkaW9uLWl0ZW0pLnRhYnMtdGl0bGUuaXMtYWN0aXZlIC50YWJCdWxsZXRzIHNwYW4uaWNvbi1kb3QtY2lyY2xlLW8sICNwcm9kdWN0LWNvbnRhaW5lciAjbGVuc19jb2xvcl9ib3ggLnByb2R1Y3Qtb3B0aW9uLXRhYnM6bm90KC5hY2NvcmRpb24taXRlbSkudGFicy10aXRsZS5lbmFibGVkOmhvdmVyIC50YWJCdWxsZXRzIHNwYW4uaWNvbi1kb3QtY2lyY2xlLW8sXG4jcHJvZHVjdC1jb250YWluZXIgI2xlbnNfY29sb3JfYm94IC5wcm9kdWN0LW9wdGlvbi10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBsaS50YWJzLXRpdGxlLmlzLWFjdGl2ZSAudGFiQnVsbGV0cyBzcGFuLmljb24tZG90LWNpcmNsZS1vLFxuI3Byb2R1Y3QtY29udGFpbmVyICNsZW5zX2NvbG9yX2JveCAucHJvZHVjdC1vcHRpb24tdGFicyAudGFicy1wYW5lbC5pcy1hY3RpdmUgbGkudGFicy10aXRsZS5pcy1hY3RpdmUgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWRvdC1jaXJjbGUtbyB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4jcHJvZHVjdC1jb250YWluZXIgI2xlbnNfY29sb3JfYm94IC5wcm9kdWN0LW9wdGlvbi10YWJzOm5vdCguYWNjb3JkaW9uLWl0ZW0pLnRhYnMtdGl0bGUuaXMtYWN0aXZlIC50YWJCdWxsZXRzIHNwYW4uaWNvbi1kb3QtY2lyY2xlLW86YmVmb3JlLCAjcHJvZHVjdC1jb250YWluZXIgI2xlbnNfY29sb3JfYm94IC5wcm9kdWN0LW9wdGlvbi10YWJzOm5vdCguYWNjb3JkaW9uLWl0ZW0pLnRhYnMtdGl0bGUuZW5hYmxlZDpob3ZlciAudGFiQnVsbGV0cyBzcGFuLmljb24tZG90LWNpcmNsZS1vOmJlZm9yZSxcbiNwcm9kdWN0LWNvbnRhaW5lciAjbGVuc19jb2xvcl9ib3ggLnByb2R1Y3Qtb3B0aW9uLXRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGxpLnRhYnMtdGl0bGUuaXMtYWN0aXZlIC50YWJCdWxsZXRzIHNwYW4uaWNvbi1kb3QtY2lyY2xlLW86YmVmb3JlLFxuI3Byb2R1Y3QtY29udGFpbmVyICNsZW5zX2NvbG9yX2JveCAucHJvZHVjdC1vcHRpb24tdGFicyAudGFicy1wYW5lbC5pcy1hY3RpdmUgbGkudGFicy10aXRsZS5pcy1hY3RpdmUgLnRhYkJ1bGxldHMgc3Bhbi5pY29uLWRvdC1jaXJjbGUtbzpiZWZvcmUge1xuICBjb2xvcjogZ3JlZW47XG4gIG1hcmdpbjogMCBhdXRvO1xuICBhbmltYXRpb24tbmFtZTogdGFiQnVsbGV0c0FjdGl2ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwO1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluaXRpYWw7XG4gIG9wYWNpdHk6IDE7IH1cblxuQGtleWZyYW1lcyB0YWJCdWxsZXRzQWN0aXZlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbiNwcm9kdWN0LWNvbnRhaW5lciAjbGVuc19jb2xvcl9ib3ggLnByb2R1Y3Qtb3B0aW9uLXRhYnMgLnRhYkJ1bGxldHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDAuMnJlbSAwcmVtIDByZW0gMC4ycmVtO1xuICBsZWZ0OiA1cHg7IH1cblxuLypFbmQgYmxvY2sqL1xuI2xlbnMtdGludGluZy1jb2xvcmVkIC5pdGVtOm5vdCguZGlzYWJsZWQpOmhvdmVyLCAjbGVucy10aW50aW5nLWNvbG9yZWQgLml0ZW06bm90KC5kaXNhYmxlZCkuaXMtYWN0aXZlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbiNsZW5zLXRpbnRpbmctY29sb3JlZCAuaXRlbTpub3QoLmRpc2FibGVkKS5pcy1hY3RpdmU6YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJpY29tb29uXCI7XG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxLjVyZW0gcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDhweDtcbiAgdG9wOiA0cHg7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDAuNXB4IGJsYWNrOyB9XG5cbi5zcXVhcmVTZWxlY3RlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMikgMHB4IDBweCAwcHggMXB4IGluc2V0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIDBweCAycHggMXB4IDBweCBpbnNldCwgcmdiYSgwLCAwLCAwLCAwLjI1KSAwcHggLTFweCA2cHggMHB4IGluc2V0LCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICNuZXdSYXRpbmcge1xuICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgIG1hcmdpbi1sZWZ0OiBpbml0aWFsO1xuICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbiNuZXdSYXRpbmcgYS5jbG9zZS1yZXZlYWwtbW9kYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICByaWdodDogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBjb2xvcjogIzE1MjkzNTsgfVxuXG4uY2F0ZWdvcnktY29udGVudCAubGluay1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyMDBweDsgfVxuXG4uY2F0ZWdvcnktY29udGVudCAucGFnZS1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXRlZ29yeS1jb250ZW50IC5jYXRlZ29yeS1jb250YWluZXIgLmFqYXhMb2FkZXJHcmV5IHtcbiAgb3BhY2l0eTogMC44O1xuICBhbmltYXRpb246IHNjYWxlVG9HcmV5IDFzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNhdGVnb3J5LWNvbnRlbnQgLmNhdGVnb3J5LWNvbnRhaW5lciAuYWpheExvYWRlckNpcmNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlOyB9XG5cbi5jYXRlZ29yeS1jb250ZW50IC5jYXRlZ29yeS1jb250YWluZXIgLmFqYXhMb2FkZXJDaXJjbGU6YmVmb3JlIHtcbiAgbGVmdDogY2FsYyg1MCUgLSAxMjBweCk7XG4gIHRvcDogNi4yNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgY29udGVudDogXCJcXGU5ODJcIjtcbiAgZm9udC1zaXplOiAxNXJlbTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4gNHMgbGluZWFyIGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbjogc3BpbiA0cyBsaW5lYXIgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogc3BpbiA0cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQC1tb3ota2V5ZnJhbWVzIHNwaW4ge1xuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ0FSVCBwYWdlcyAvIENBUlQgRU1QVFkgcGFnZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkuY2FydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuI2NhcnQtY29udGFpbmVyIGgyIGEge1xuICBjb2xvcjogIzE1MjkzNTsgfVxuXG4jY2FydC1jb250YWluZXIgaDIudGl0bGUtcHJvZHVjdC1jYXJ0IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAjY2FydC1jb250YWluZXIgaDIudGl0bGUtcHJvZHVjdC1jYXJ0OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiNjYXJ0LWNvbnRhaW5lciAuY2FydC1pdGVtLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgI2NhcnQtY29udGFpbmVyIC5jYXJ0LWl0ZW0tY29udGFpbmVyIC5wcm9kdWN0LWltYWdlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICNjYXJ0LWNvbnRhaW5lciAuY2FydC1pdGVtLWNvbnRhaW5lciAuYW1vdW50LXBpbGwsXG4gICNjYXJ0LWNvbnRhaW5lciAuY2FydC1pdGVtLWNvbnRhaW5lciAucmVtb3ZlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICNjYXJ0LWNvbnRhaW5lciAuZ3JhbmQtdG90YWwtY2VsbCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuI2NhcnQtY29udGFpbmVyIC5ncmFuZC10b3RhbC1jZWxsIC5ncmFuZC10b3RhbC1jb250YWluZXIge1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIGJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgI2NhcnQtY29udGFpbmVyIC5ncmFuZC10b3RhbC1jZWxsIC5ncmFuZC10b3RhbC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNjYXJ0LWNvbnRhaW5lciAuZ3JhbmQtdG90YWwtY2VsbCAuZ3JhbmQtdG90YWwtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgI2NhcnQtY29udGFpbmVyIC5ncmFuZC10b3RhbC1jZWxsIC5ncmFuZC10b3RhbC1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICNjYXJ0LWNvbnRhaW5lciAuZ3JhbmQtdG90YWwtY2VsbCAuZ3JhbmQtdG90YWwtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAuaW5wdXQtZ3JvdXAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICNjYXJ0LWNvbnRhaW5lciAuZ3JhbmQtdG90YWwtY2VsbCAuZ3JhbmQtdG90YWwtY29udGFpbmVyIC5zdW1tYXJ5IHRhYmxlLmRldGFpbHMge1xuICAgIG1hcmdpbjogMDsgfVxuICAjY2FydC1jb250YWluZXIgLmdyYW5kLXRvdGFsLWNlbGwgLmdyYW5kLXRvdGFsLWNvbnRhaW5lciAuc3VtbWFyeSB0YWJsZSB0ciB0ZCB7XG4gICAgcGFkZGluZy10b3A6IDAuMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4ycmVtOyB9XG4gICNjYXJ0LWNvbnRhaW5lciAuZ3JhbmQtdG90YWwtY2VsbCAuZ3JhbmQtdG90YWwtY29udGFpbmVyIC5zdW1tYXJ5IC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4jY2FydC1jb250YWluZXIgLmNhci1lbXB0eSB7XG4gIHBhZGRpbmc6IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNjYXJ0LWNvbnRhaW5lciAuY2FyLWVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDYwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgI2NhcnQtY29udGFpbmVyIC5jYXItZW1wdHkgW2NsYXNzXj1cImljb24tXCJdIHtcbiAgICBmb250LXNpemU6IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjY2FydC1jb250YWluZXIgLmNhci1lbXB0eSBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgICAgICBmb250LXNpemU6IDUwcHg7IH0gfVxuXG4jY2FydC1jb250YWluZXIgLmJveF9jb250aW51ZV9zaG9wcGluZywgI2NhcnQtY29udGFpbmVyIC5ib3hfbG9naW4sICNjYXJ0LWNvbnRhaW5lciAuYm94X2NvbnRhY3RfdXMge1xuICBwYWRkaW5nOiAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgI2NhcnQtY29udGFpbmVyIC5ib3hfY29udGludWVfc2hvcHBpbmcsICNjYXJ0LWNvbnRhaW5lciAuYm94X2xvZ2luLCAjY2FydC1jb250YWluZXIgLmJveF9jb250YWN0X3VzIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuXG4jY2FydC1jb250YWluZXIgLmJveF9sb2dpbiB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUFFQUVBO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VBRUFFQTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2NhcnQtY29udGFpbmVyIC5ib3hfbG9naW4ge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRUFFQUVBO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0VBRUFFQTsgfSB9XG5cbiNjYXJ0LWNvbnRhaW5lciBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICBjb2xvcjogIzZGNzk4NztcbiAgZm9udC1zaXplOiAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjY2FydC1jb250YWluZXIgW2NsYXNzXj1cImljb24tXCJdIHtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDsgfSB9XG5cbiNjYXJ0LWNvbnRhaW5lciAuc2hvcnRfbWVudSB7XG4gIG1hcmdpbi10b3A6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuI2NhcnQtY29udGFpbmVyIC5qc2UtY2FydC1pdGVtLXF1YW50aXR5LmJsb2NrZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjQ7IH1cblxuLmNoZWNrb3V0LXN0ZXBzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuY2hlY2tvdXQtc3RlcHMgLnN0ZXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCAjMTUyOTM1IHNvbGlkO1xuICAgIHBhZGRpbmc6IDAuODVlbSAxZW07IH1cbiAgLmNoZWNrb3V0LXN0ZXBzOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMHB4OyB9XG4gIC5jaGVja291dC1zdGVwcyAuYWN0aXZlLXN0ZXAge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTlCQUU7IH1cblxuI2NoZWNrb3V0X2FkZHJlc3NfY29udGVudCBmb3JtIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgI2NoZWNrb3V0X2FkZHJlc3NfY29udGVudCBmb3JtICNhZGRyZXNzZXNfZ3JpZCAjc2hpcHBpbmdfY2VsbCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgI2NoZWNrb3V0X2FkZHJlc3NfY29udGVudCBmb3JtICNhZGRyZXNzZXNfZ3JpZCAjYmlsbGluZ19jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuI2NoZWNrb3V0X2FkZHJlc3NfY29udGVudC5uby1iaWxsaW5nLWFkZHJlc3MgZm9ybSAjYWRkcmVzc2VzX2dyaWQgI3NoaXBwaW5nX2NlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuXG4jY2hlY2tvdXRfYWRkcmVzc19jb250ZW50Lm5vLWJpbGxpbmctYWRkcmVzcyBmb3JtICNhZGRyZXNzZXNfZ3JpZCAjYmlsbGluZ19jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2NoZWNrb3V0X2FkZHJlc3NfY29udGVudCBmb3JtICNhZGRyZXNzZXNfZ3JpZCAjYmlsbGluZ19jZWxsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjY2hlY2tvdXRfYWRkcmVzc19jb250ZW50Lm5vLWJpbGxpbmctYWRkcmVzcyBmb3JtICNhZGRyZXNzZXNfZ3JpZCAjYmlsbGluZ19jZWxsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjY2hlY2tvdXRfYWRkcmVzc19jb250ZW50IGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICNjaGVja291dF9hZGRyZXNzX2NvbnRlbnQgZm9ybSAjYWRkcmVzc2VzX2dyaWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjY2hlY2tvdXRfYWRkcmVzc19jb250ZW50IGZvcm0gI2FkZHJlc3Nlc19ncmlkICNzaGlwcGluZ19jZWxsIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgICAgI2NoZWNrb3V0X2FkZHJlc3NfY29udGVudCBmb3JtICNhZGRyZXNzZXNfZ3JpZCAjYmlsbGluZ19jZWxsIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAjY2hlY2tvdXRfYWRkcmVzc19jb250ZW50Lm5vLWJpbGxpbmctYWRkcmVzcyBmb3JtIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgI2NoZWNrb3V0X2FkZHJlc3NfY29udGVudC5uby1iaWxsaW5nLWFkZHJlc3MgZm9ybSAjYWRkcmVzc2VzX2dyaWQgI3NoaXBwaW5nX2NlbGwge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgICAjY2hlY2tvdXRfYWRkcmVzc19jb250ZW50Lm5vLWJpbGxpbmctYWRkcmVzcyBmb3JtICNhZGRyZXNzZXNfZ3JpZCAjYmlsbGluZ19jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmNoZWNrb3V0X3N1bW1hcnkgLml0ZW1zLWxpc3QgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIC50aHVtYm5haWwge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoOTclKTsgfVxuXG4uY2hlY2tvdXRfc3VtbWFyeSAuaXRlbXMtbGlzdCAubWVkaWEtb2JqZWN0IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiAudGh1bWJuYWlsIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5jaGVja291dF9zdW1tYXJ5IC5pdGVtcy1saXN0IC5tZWRpYS1vYmplY3QgLm1lZGlhLW9iamVjdC1zZWN0aW9uIC50aHVtYm5haWwgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNoZWNrb3V0X3N1bW1hcnkgLmNhbGxvdXQge1xuICB3aWR0aDogMTAwJTsgfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4wLXJjLjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEZvbnQgU3R5bGVzXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIC0tLSBpbXBvcnQgR29vZ2xlIEZvbnRzIC0tLVxuXG4vL0BpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvOjUwMCw0MDAsMzAwJyk7XG4vL0BpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Um9ib3RvK1NsYWI6NDAwLDMwMCw3MDB8Um9ib3RvOjUwMCw0MDAsMzAwJyk7XG5cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNjAwLDcwMCcpO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZhcmlhYmxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIC0tLSBmb250LXdlaWdodCAtLS1cblxuJGZvbnQtbGlnaHQ6IDMwMDtcbiRmb250LXJlZ3VsYXI6IDQwMDtcbiRmb250LWJvbGQ6IDcwMDtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRXh0YW5kYWJsZSBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50aGluIHtcbiAgICBmb250LXdlaWdodDogJGZvbnQtbGlnaHQ7XG59XG5cbi5tZW51LWZvbnQge1xuICAgIEBleHRlbmQgLnRoaW47XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50aXRsZS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICY6YmVmb3JlIHtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cblxuLmgyIHtcbiAgICBAZXh0ZW5kIC50aGluO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKHBldHJvbCk7XG4gICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDEwcHg7XG4gICAgfVxufVxuXG4uaDItd2hpdGUtY2VudGVyIHtcbiAgICBAZXh0ZW5kIC5oMjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUaXRsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbn1cblxuaDEge1xuICAgIEBleHRlbmQgLnRoaW47XG59XG5cbmgyIHtcbiAgICBAZXh0ZW5kIC5oMjtcbn1cblxuaDIud2hpdGUtY2VudGVyIHtcbiAgICBAZXh0ZW5kIC5oMi13aGl0ZS1jZW50ZXI7XG59XG5cbi5sZWZ0LWNvbHVtbiA+IHNlY3Rpb246bnRoLWNoaWxkKDEpID4gaDI6bnRoLWNoaWxkKDEpIHtcbiAgICBtYXJnaW4tdG9wOiBpbml0aWFsO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTdWIgVGl0bGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnN1YnRpdGxlLFxuLnN1YnRpdGxlIC5oYXMtdGlwIHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtbGlnaHQgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VwYXJhdG9yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmhyIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpc3QgLSBQYWdlIHN0YXRpY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jTGVmdENvbHVtbi5sZWZ0LWNvbHVtbiB7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cblxuLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4vLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4vLyBUaGlzIHNob3VsZCBiZSBpbiB0aGUgc2FtZSBicmVha3BvaW50IHRoZW4gYEBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGhgXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICAvLyBFeHRlbmRzIG11c3QgYmUgbWFkZSBvdXRzaWRlIG9mIGJyZWFrcG9pbnRzIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbmV3ZXIgU2FzcyB2ZXJzaW9ucyAobGlic2FzcyB2My41KVxuICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcblxuICAvLy8gRGlzYWJsZXMgdGhlIHNjcm9sbCB3aGVuIFJldmVhbCBpcyBzaG93biB0byBwcmV2ZW50IHRoZSBiYWNrZ3JvdW5kIGZyb20gc2hpZnRpbmdcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuemYtaGFzLXNjcm9sbCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgYm9keSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRib2R5LWZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4vLyAkYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTQwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAycHg7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbi8vIC0tLSAxLjEgQ09MT1Jcbi8vIC0tLS0tLS0tLS0tLS1cblxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjM0Q3MEIyLFxuICBzZWNvbmRhcnk6ICM2Rjc5ODcsXG4gIHRlcnRpYXJ5OiAjREM1RTVFLFxuICBzdWNjZXNzOiAjNzJEMjM3LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI0RDNUU1RSxcbiAgcGV0cm9sOiAjMDE5QkFFLFxuKTtcblxuJHBldHJvbDogZ2V0LWNvbG9yKHBldHJvbCk7XG5cbiR3aGl0ZTogI2ZmZmZmZjtcbiRsaWdodGVzdC1ncmF5OiAjRkJGQkZCOyAgICBcbiRsaWdodGVyLWdyYXk6ICNFQUVBRUE7ICAgIFxuJGxpZ2h0LWdyYXk6ICNDOEM4Qzg7ICAgICBcbiRncmF5LTUwMDogIzgxODE4MTtcbiRncmF5OiAjNTE1MTUxO1xuJG1lZGl1bS1ncmF5OiAjNUE2ODcyOyAgICAgIC8vIFNvbWUgbGlua3MgYW5kIGF0dHJpYnV0ZXMgbmFtZXNcbiRkYXJrLWdyYXk6ICMzMzMzMzM7ICAgICAgICAvLyBJY29ucyBhbmQgdG9wIG1lbnVcbiRkYXJrZXN0LWdyYXk6ICMxNTI5MzU7ICAgICAgICAvLyBJY29ucyBhbmQgdG9wIG1lbnVcblxuJGJsYWNrOiAkZGFya2VzdC1ncmF5O1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJHBldHJvbDogIzAxOUJBRTtcbiRwZXRyb2wtZGFyazogIzAwODNBOTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgICAgICAgICAgICAgICAgICAvLyRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDI0LCAnbWFyZ2luLXRvcCc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIyLCAnbWFyZ2luLXRvcCc6IDE1KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE0KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCwgJ21hcmdpbi10b3AnOiAzMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMiwgJ21hcmdpbi10b3AnOiAyNSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kZm9udC1jb2xvci1yZWQ6ICNEQzVFNUU7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDJyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0ZXItZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJGxpZ2h0ZXItZ3JheTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAxcmVtIDAgMXJlbSAwOyAgIC8vIDAgMCAxcmVtIDBcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkbGlnaHRlc3QtZ3JheTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogKCRnbG9iYWwtcGFkZGluZyAqIDAuNSkgJGdsb2JhbC1wYWRkaW5nICgkZ2xvYmFsLXBhZGRpbmcgKiAwLjgpO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHRlci1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkbGlnaHRlc3QtZ3JheTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICRsaWdodGVzdC1ncmF5O1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHRlci1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4wNSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRsaWdodGVyLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogMnB4O1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMzEwcHgsXG4gIG1lZGl1bTogMzUwcHhcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAzMTBweCxcbiAgbWVkaXVtOiAzNTBweFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJHdoaXRlO1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiB0cmFuc3BhcmVudDtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjNzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjM1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgKiA0O1xuJHJldmVhbC1ib3JkZXI6IDVweCBzb2xpZCBnZXQtY29sb3IocGV0cm9sKTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcGV0cm9sO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiAzJTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkbGlnaHRlci1ncmF5O1xuJHRhYi1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICR3aGl0ZTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiB0aXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNHJlbSAwO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnAtaXMtZmFsbGJhY2s6IGZhbHNlO1xuXG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICAgICRicC1pcy1mYWxsYmFjazogdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciBmb3IgdGhlIGdpdmVuIGJyZWFrcG9pbnQvdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgZmFsbGJhY2ssIHVzZSBhIGZhbGxiYWNrIGd1dHRlciBhcyB3ZWxsXG4gIEBpZiAoJGJwLWlzLWZhbGxiYWNrID09IHRydWUgYW5kICRndXR0ZXIgPT0gbnVsbCkge1xuICAgICRndXR0ZXI6IDA7XG4gIH1cblxuICBAaWYoJGd1dHRlciAhPSBudWxsKSB7XG4gICAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gICAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiLCBjZWxsIHdhcyBub3QgZ2VuZXJhdGVkYCdcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIFNlZSBgLXpmLWJyZWFrcG9pbnQtdmFsdWUoKWAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJGd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItbWFyZ2luID09IDAsICN7eHktY2VsbC1zaXplKCRuKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlci1tYXJnaW59KSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gY2xlYXIge1xuICAgICAgJi5jbGVhciB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG5cbiAgICAgICAgICAgICYsICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgJixcbiAgICAgICAgICAgICAgJi5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5ob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG5cbiAgYS5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkc3dpdGNoLXBhZGRsZS1vZmZzZXQ7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcblxuICBsaW5lLWhlaWdodDogMDtcbn1cblxuQG1peGluIHRodW1ibmFpbC1saW5rIHtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG5cbiAgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG5cbiAgYS50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbC1saW5rO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICBpbnB1dC5idXR0b24geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gTWFrZXMgc2VjdGlvbnMgb2YgYSB0b3AgYmFyIHN0YWNrIG9uIHRvcCBvZiBlYWNoIG90aGVyLlxuQG1peGluIHRvcC1iYXItc3RhY2tlZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW5kb2VzIHRoZSBDU1MgYXBwbGllZCBieSB0aGUgYHRvcC1iYXItc3RhY2tlZCgpYCBtaXhpbi5cbkBtaXhpbiB0b3AtYmFyLXVuc3RhY2sge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAkc2l6ZTogLXpmLWJwLXRvLWVtKCRzaXplKSAtIC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIC4wMDEyNTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBwYXVzZS1xdWV1ZS1jbGFzczogJ2lzLXBhdXNlZCcsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gXCIjeyRvdXRwdXR9XCI7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiAtbXVpLWlzLWZ1bmN0aW9uKCRtYXApIHtcbiAgICAgICRtYXA6IC1tdWktc2FmZS1jYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC4gQnkgZGVmYXVsdCBgbGVmdGAgYW5kIGByaWdodGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBudWxsLFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGxlZnQsIHJpZ2h0KSk7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBPcGFjaXR5IHRvIGVuZCBvbi4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAtbXVpLXN0cmluZy1zYWZlKCdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyksXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIFNpemUgdG8gc3RhcnQgYXQuIEJ5IGRlZmF1bHQgYDBgIGFuZCBgMWAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbbnVsbF0gLSBTaXplIHRvIGVuZCBhdC4gQnkgZGVmYXVsdCBgMWAgYW5kIGAwYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbnVsbF0gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLiBCeSBkZWZhdWx0IGBjd2AgYW5kIGBjY3dgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBjdywgY2N3KSk7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZm9udC1zdHlsaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBmb250IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTGV0dGVyIHNwYWNpbmcgZm9yIGAuZm9udC13aWRlYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtYm9sZGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdpZGUgbGV0dGVyIHNwYWNpbmchXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxuQG1peGluIGZvbnQtd2lkZShcbiAgJGxldHRlci1zcGFjaW5nOiAkcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmdcbikge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLy8gRm9udCBXZWlnaHQgTm9ybWFsLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LW5vcm1hbF0gV2VpZ2h0IG9mIHRoZSBmb250IChub3JtYWwpXG5AbWl4aW4gZm9udC1ub3JtYWwoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ub3JtYWxcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LWJvbGRdIFdlaWdodCBvZiB0aGUgZm9udCAoYm9sZClcbkBtaXhpbiBmb250LWJvbGQoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFN0eWxlIEl0YWxpY1xuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmcge1xuICAuZm9udC13aWRle1xuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgfVxuXG4gIC5mb250LW5vcm1hbCB7XG4gICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gIH1cblxuICAuZm9udC1ib2xkIHtcbiAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIH1cblxuICAuZm9udC1pdGFsaWMge1xuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mb250LXdpZGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWl0YWxpYyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gRm9yIHN3aXRjaGVzXG4gICAgfVxuICB9XG5cbiAgLnJhZGl1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcm91bmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXJhZGl1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlcmVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXJlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItd2lkdGhgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci10eXBlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1jb2xvcmAgZGVmYXVsdGVkIHRvIGBtZWRpdW0tZ3JheWBcbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlcmVkIFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtYm9yZGVyLXdpZHRoXSBXaWR0aCBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0eXBlIFskcHJvdG90eXBlLWJvcmRlci10eXBlXSBUeXBlIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXSBDb2xvciBvZiB0aGUgYm9yZGVyXG5AbWl4aW4gYm9yZGVyZWQoXG4gICR3aWR0aDogJHByb3RvdHlwZS1ib3JkZXItd2lkdGgsXG4gICR0eXBlOiAkcHJvdG90eXBlLWJvcmRlci10eXBlLFxuICAkY29sb3I6ICRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXG4pIHtcbiAgYm9yZGVyOiAkd2lkdGggJHR5cGUgJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQge1xuICAuYm9yZGVyZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWFycm93XG4vLy8vXG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBhcnJvd2AgZGlyZWN0aW9uXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgdGhlIEFycm93LCBgMC40Mzc1cmVtYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG5cbi8vLyBDb2xvciBvZiB0aGUgQXJyb3csIGAkYmxhY2tgIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93IHtcbiAgQGVhY2ggJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb24gaW4gJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zIHtcbiAgICAuYXJyb3ctI3skcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LXNpemUsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWNvbG9yLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2VwYXJhdG9yXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhbGlnbm1lbnQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRvcCBNYXJnaW4gb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRpdGxlIHNlcGFyYXRvciBVdGlsaXR5LCBtb3N0bHkgdXNlZCB0byBzdHlsZSB0aGUgbWFpbiBoZWFkaW5nIG9mIGEgc2VjdGlvblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYWxpZ24gWyRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduXSAtIHNlcGFyYXRvciBBbGlnbm1lbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0XSAtIFdpZHRoXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGhdIC0gSGVpZ2h0XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFskcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXSAtIE1hcmdpbiBUb3BcbkBtaXhpbiBzZXBhcmF0b3IgKFxuICAkYWxpZ246ICRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduLFxuICAkaGVpZ2h0OiAkcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQsXG4gICR3aWR0aDogJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGgsXG4gICRiYWNrZ3JvdW5kOiAkcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kLFxuICAkdG9wOiAkcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXG4pIHtcbiAgdGV4dC1hbGlnbjogJGFsaWduICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSk7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogJHRvcCBhdXRvIDA7XG5cbiAgICBAaWYgJGFsaWduID09IGxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yIHtcblx0LnNlcGFyYXRvci1jZW50ZXIge1xuXHRcdEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuXHR9XG5cbiAgLnNlcGFyYXRvci1sZWZ0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gIH1cblxuICAuc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICB9XG5cblx0QGlmICgkcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1jZW50ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1wb3NpdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcG9zaXRpb24gaGVscGVyc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgcG9zaXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgZml4ZWQgcG9zaXRpb25pbmdcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1ICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb24gY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1wb3NpdGlvbmAsIHdoZXJlYXMgYWxsIHRoZSBvZmZzZXQgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBvc2l0aW9uYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIFtdIFBvc2l0aW9uIGNsYXNzZXMsIEVpdGhlciBgc3RhdGljYCwgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gVG9wIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUmlnaHQgb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBMZWZ0IG9mZnNldFxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHRvcDogJHRvcCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBsZWZ0OiAkbGVmdCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gdG9wIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLXRvcGBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC10b3AoXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCwgMCwgbnVsbCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gYm90dG9tIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLWJvdHRvbWBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC1ib3R0b20oXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgMCwgMCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb24ge1xuICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gIC5wb3NpdGlvbi1maXhlZC10b3Age1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgfVxuICAucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtb3ZlcmZsb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIG92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBvdmVyZmxvd2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKSAhZGVmYXVsdDtcblxuLy8vIE92ZXJmbG93IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzXG5AbWl4aW4gb3ZlcmZsb3coJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gaG9yaXpvbnRhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAoaG9yaXpvbnRhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXgoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXg6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiB2ZXJ0aWNhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAodmVydGljYWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy15KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy15OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgIC5vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBkaXNwbGF5YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKSAhZGVmYXVsdDtcblxuLy8vIERpc3BsYXkgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1kaXNwbGF5YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcbkBtaXhpbiBkaXNwbGF5KCRkaXNwbGF5KSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5IHtcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLWJveFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIGJveC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3gge1xuICAuYm9yZGVyLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ub25lXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgbm9uZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBub25lIHV0aWxpdHlcbkBtaXhpbiBib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmUge1xuICAuYm9yZGVyLW5vbmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLW5vbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2l6aW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzaXppbmdgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXggV2lkdGggMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LXdpZHRoLTEwMCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vLy8gTWF4IEhlaWdodCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZyB7XG4gIC8vIEVsZW1lbnQgU2l6aW5nXG4gIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgLiN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTWF4IHdpZHRoICYgaGVpZ2h0XG4gIC5tYXgtd2lkdGgtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgtMTAwO1xuICB9XG4gIC5tYXgtaGVpZ2h0LTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LWhlaWdodC0xMDA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICAgICAgICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgICAgICAgICAuI3skc2l6ZX0tI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAvLyBUb3AgU2lkZVxuICAgICAgICAuI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0ge1xuICAgICAgICAgICAgICBAZWFjaCAkcHJvcCBpbiAobWFyZ2luLCBwYWRkaW5nKSB7XG4gICAgICAgICAgICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAgICAgICAgICAgJi0jeyRwcm9wfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiAgdXJsKCcuLi9mb250L2ljb21vb24uZW90P2tldjM0dycpO1xuICBzcmM6ICB1cmwoJy4uL2ZvbnQvaWNvbW9vbi5lb3Q/a2V2MzR3I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udC9pY29tb29uLndvZmYyP2tldjM0dycpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnQvaWNvbW9vbi50dGY/a2V2MzR3JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnLi4vZm9udC9pY29tb29uLndvZmY/a2V2MzR3JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250L2ljb21vb24uc3ZnP2tldjM0dyNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uaWNvbi1zdHlsZSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIEBleHRlbmQgLmljb24tc3R5bGU7XG59XG5cbi8vLy8gU1RBUlQgSUNPTU9PTiBJTVBPUlQgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLyBTVEFSVCBJQ09NT09OIElNUE9SVCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vIFNUQVJUIElDT01PT04gSU1QT1JUIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8gU1RBUlQgSUNPTU9PTiBJTVBPUlQgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLyBTVEFSVCBJQ09NT09OIElNUE9SVCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vIFNUQVJUIElDT01PT04gSU1QT1JUIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4uaWNvbi1jb29raWUtYml0ZS1zb2xpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0OFwiO1xufVxuLmljb24td2ViY2FtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ1XCI7XG59XG4uaWNvbi12ZXJyZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2ZcIjtcbn1cbi5pY29uLW5vcm1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjVcIjtcbn1cbi5pY29uLXBldGl0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyNFwiO1xufVxuLmljb24tcm9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiO1xufVxuLmljb24tcGFydGllLXN1cGVyaWV1ciAucGF0aDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTRcIjtcbiAgY29sb3I6IHJnYigwLCAwLCAwKTtcbn1cbi5pY29uLXBhcnRpZS1zdXBlcmlldXIgLnBhdGgyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE1XCI7XG4gIG1hcmdpbi1sZWZ0OiAtMi4yMjY1NjI1ZW07XG4gIGNvbG9yOiByZ2IoMTY1LCAxNjUsIDE2NSk7XG59XG4uaWNvbi1wYXJ0aWUtc3VwZXJpZXVyIC5wYXRoMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNlwiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogcmdiKDE2NSwgMTY1LCAxNjUpO1xufVxuLmljb24tcGFydGllLWluZmVyaWV1ciAucGF0aDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTFcIjtcbiAgY29sb3I6IHJnYigxNjUsIDE2NSwgMTY1KTtcbn1cbi5pY29uLXBhcnRpZS1pbmZlcmlldXIgLnBhdGgyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEyXCI7XG4gIG1hcmdpbi1sZWZ0OiAtMi4yMjY1NjI1ZW07XG4gIGNvbG9yOiByZ2IoMCwgMCwgMCk7XG59XG4uaWNvbi1wYXJ0aWUtaW5mZXJpZXVyIC5wYXRoMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxM1wiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogcmdiKDAsIDAsIDApO1xufVxuLmljb24tb3ZhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxMFwiO1xufVxuLmljb24taW52aXNpYmxlIC5wYXRoMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYVwiO1xuICBjb2xvcjogcmdiKDAsIDAsIDApO1xufVxuLmljb24taW52aXNpYmxlIC5wYXRoMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogcmdiKDE2NSwgMTY1LCAxNjUpO1xufVxuLmljb24taW52aXNpYmxlIC5wYXRoMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwY1wiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogcmdiKDAsIDAsIDApO1xufVxuLmljb24taW52aXNpYmxlIC5wYXRoNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZFwiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogcmdiKDE2NSwgMTY1LCAxNjUpO1xufVxuLmljb24taW52aXNpYmxlIC5wYXRoNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZlwiO1xuICBtYXJnaW4tbGVmdDogLTIuMjI2NTYyNWVtO1xuICBjb2xvcjogcmdiKDAsIDAsIDApO1xufVxuLmljb24tZ3JhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDhcIjtcbn1cbi5pY29uLWV0cm9pdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cbi5pY29uLWNvbXBsZXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNvbi1jYXJyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cbi5pY29uLXdvb2QtZmVsbGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTk4XCI7XG59XG4uaWNvbi10b20tZm9yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3MVwiO1xufVxuLmljb24tVG9kX3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NzBcIjtcbn1cbi5pY29uLVRpbWJlcmxhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NmZcIjtcbn1cbi5pY29uLXJheS1iYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTNcIjtcbn1cbi5pY29uLXJhbHBoLWxhdXJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk1MlwiO1xufVxuLmljb24tcHJhZGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NTFcIjtcbn1cbi5pY29uLW9ha2xleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0NFwiO1xufVxuLmljb24tbmlrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0M1wiO1xufVxuLmljb24tbWFyc2hhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDJcIjtcbn1cbi5pY29uLW1hcmMtamFjb2JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG59XG4uaWNvbi1MZXZpczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk0MFwiO1xufVxuLmljb24teXZlcy1zYWludC1sYXVyZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNkXCI7XG59XG4uaWNvbi12b2d1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzY1wiO1xufVxuLmljb24tdmVyc2FjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzYlwiO1xufVxuLmljb24tc3dhcm92c2tpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTNhXCI7XG59XG4uaWNvbi1zbWl0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzOVwiO1xufVxuLmljb24tc2Zlcm9mbGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG59XG4uaWNvbi1zYWZpbG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MzdcIjtcbn1cbi5pY29uLXJvYmVydG8tY2F2YWxsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzNlwiO1xufVxuLmljb24tcmVwbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM1XCI7XG59XG4uaWNvbi1waWVycmUtY2FyZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTM0XCI7XG59XG4uaWNvbi1VdmV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG59XG4uaWNvbi1veHlkbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzMlwiO1xufVxuLmljb24tbW9udC1ibGFuYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzMVwiO1xufVxuLmljb24tbWl1LW1pdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkzMFwiO1xufVxuLmljb24tbWFyYS1tYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmZcIjtcbn1cbi5pY29uLWx1eG90dGljYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyZVwiO1xufVxuLmljb24tZ2lvcmdpby1hcm1hbmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmRcIjtcbn1cbi5pY29uLWVybWVuZWdpbGRvLXplZ25hOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTJjXCI7XG59XG4uaWNvbi1lbWlsaW8tcHVjY2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmJcIjtcbn1cbi5pY29uLWRrbnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmFcIjtcbn1cbi5pY29uLWJ2bGdhcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cbi5pY29uLWJ1cmJlcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI4XCI7XG59XG4uaWNvbi1iYWxlbmNpYWdhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI3XCI7XG59XG4uaWNvbi1hcm5ldHRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG4uaWNvbi10b21teS1oaWxmaWdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyMlwiO1xufVxuLmljb24tanVzdC1jYXZhbGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MjFcIjtcbn1cbi5pY29uLWp1bGJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XG59XG4uaWNvbi1odWdvLWJvc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWZcIjtcbn1cbi5pY29uLWd1ZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XG59XG4uaWNvbi1ndWNjaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxZFwiO1xufVxuLmljb24tZW1wb3Jpby1hcm1hbmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MWNcIjtcbn1cbi5pY29uLWRzcXVhcmVkMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxYlwiO1xufVxuLmljb24tZGllc2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG59XG4uaWNvbi1zdXBlcmRyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxOFwiO1xufVxuLmljb24tcGVyc29sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG59XG4uaWNvbi1sZS1zcGVjczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZVwiO1xufVxuLmljb24tY2FycmVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOVwiO1xufVxuLmljb24tTGFjb3N0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuLmljb24ta2VyYmhvbHo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cbi5pY29uLWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNvbi1hbHBpbmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cbi5pY29uLWNvbW1hOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG59XG4uaWNvbi1hZGlkYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cbi5pY29uLXRyeW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG59XG4uaWNvbi10cnVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiO1xufVxuLmljb24tY2FydDE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NDZcIjtcbn1cbi5pY29uLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG4uaWNvbi1zZW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG4uaWNvbi11c2VyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzBcIjtcbn1cbi5pY29uLWVudmVsb3BlLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiN1wiO1xufVxuLmljb24tZW52ZWxvcGUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNlwiO1xufVxuLmljb24tcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOWNcIjtcbn1cbi5pY29uLXBlcmNlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTVcIjtcbn1cbi5pY29uLXNob3BwaW5nLWJhc2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5MVwiO1xufVxuLmljb24tc2hvcHBpbmctYmFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkwXCI7XG59XG4uaWNvbi1pbnRlcnNleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiO1xufVxuLmljb24tdHJhbnNnZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjtcbn1cbi5pY29uLW1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjJcIjtcbn1cbi5pY29uLWNjLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNFwiO1xufVxuLmljb24tY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuLmljb24tY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xufVxuLmljb24tY2MtdmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiO1xufVxuLmljb24tbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4M1wiO1xufVxuLmljb24tZmVtYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgyXCI7XG59XG4uaWNvbi1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7XG59XG4uaWNvbi13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7XG59XG4uaWNvbi1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OVwiO1xufVxuLmljb24tdW5sb2NrLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZVwiO1xufVxuLmljb24tZm9sZGVyLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNVwiO1xufVxuLmljb24tZm9sZGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTRcIjtcbn1cbi5pY29uLW1haWwtcmVwbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTJcIjtcbn1cbi5pY29uLXJlcGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEyXCI7XG59XG4uaWNvbi1zcGlubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEwXCI7XG59XG4uaWNvbi10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGFcIjtcbn1cbi5pY29uLWxhcHRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiO1xufVxuLmljb24tZGVza3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOFwiO1xufVxuLmljb24tYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjtcbn1cbi5pY29uLWxpZ2h0YnVsYi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7XG59XG4uaWNvbi1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWFcIjtcbn1cbi5pY29uLXBhc3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGVhXCI7XG59XG4uaWNvbi1jb21tZW50cy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU2XCI7XG59XG4uaWNvbi1yb3RhdGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMlwiO1xufVxuLmljb24tdW5kbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMlwiO1xufVxuLmljb24tZW52ZWxvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cbi5pY29uLWNhcmV0LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7XG59XG4uaWNvbi1jYXJldC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG4uaWNvbi1tb25leTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNlwiO1xufVxuLmljb24tZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDVcIjtcbn1cbi5pY29uLWN1dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNFwiO1xufVxuLmljb24tc2Npc3NvcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzRcIjtcbn1cbi5pY29uLWFycm93cy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjJcIjtcbn1cbi5pY29uLWZpbHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMFwiO1xufVxuLmljb24tdW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7XG59XG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YVwiO1xufVxuLmljb24tZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YVwiO1xufVxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiO1xufVxuLmljb24tcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTVcIjtcbn1cbi5pY29uLWxpbmtlZGluLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiO1xufVxuLmljb24taGVhcnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4YVwiO1xufVxuLmljb24tc3Rhci1oYWxmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg5XCI7XG59XG4uaWNvbi10aHVtYnMtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg4XCI7XG59XG4uaWNvbi10aHVtYnMtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4N1wiO1xufVxuLmljb24tY29nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NVwiO1xufVxuLmljb24tZ2VhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODVcIjtcbn1cbi5pY29uLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG4uaWNvbi1mb2xkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2JcIjtcbn1cbi5pY29uLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2FcIjtcbn1cbi5pY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuLmljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuLmljb24tY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NVwiO1xufVxuLmljb24tcmFuZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG4uaWNvbi1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiO1xufVxuLmljb24td2FybmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiO1xufVxuLmljb24tYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2M1wiO1xufVxuLmljb24tYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjJcIjtcbn1cbi5pY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYxXCI7XG59XG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYwXCI7XG59XG4uaWNvbi1jaGVjay1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZFwiO1xufVxuLmljb24tdGltZXMtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cbi5pY29uLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiO1xufVxuLmljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuLmljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG4uaWNvbi1wZW5jaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDBcIjtcbn1cbi5pY29uLWltYWdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XG59XG4uaWNvbi1waG90bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuLmljb24tcGljdHVyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XG59XG4uaWNvbi12aWRlby1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjtcbn1cbi5pY29uLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMFwiO1xufVxuLmljb24tbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuLmljb24tcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiO1xufVxuLmljb24tcmVwZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFlXCI7XG59XG4uaWNvbi1yb3RhdGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWVcIjtcbn1cbi5pY29uLWNsb2NrLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cbi5pY29uLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTVcIjtcbn1cbi5pY29uLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuLmljb24tZ2VhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuLmljb24tY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbi5pY29uLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuLmljb24tdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbi5pY29uLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG59XG4uaWNvbi11c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG59XG4uaWNvbi1zdGFyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDZcIjtcbn1cbi5pY29uLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcIjtcbn1cbi5pY29uLWhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cbi5pY29uLXRyYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTRcIjtcbn1cbi5pY29uLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYlwiO1xufVxuLmljb24tdGFnczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyY1wiO1xufVxuLmljb24tZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiO1xufVxuLmljb24tcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7XG59XG4uaWNvbi1jaGVjay1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NlwiO1xufVxuLmljb24tYmFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVlXCI7XG59XG4uaWNvbi1leWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmVcIjtcbn1cbi5pY29uLXRyb3BoeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MVwiO1xufVxuLmljb24tc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTZcIjtcbn1cbi5pY29uLWdsb2JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFjXCI7XG59XG4uaWNvbi13cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWRcIjtcbn1cbi5pY29uLWJhcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cbi5pY29uLW5hdmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cbi5pY29uLXJlb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cbi5pY29uLWZpbGUtdGV4dC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY2XCI7XG59XG4uaWNvbi1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwMFwiO1xufVxuLmljb24tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7XG59XG4uaWNvbi1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjtcbn1cbi5pY29uLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAzXCI7XG59XG4uaWNvbi1hbmdsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiO1xufVxuLmljb24tYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiO1xufVxuLmljb24taW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOVwiO1xufVxuLmljb24tZXhjbGFtYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmFcIjtcbn1cbi5pY29uLWV1cjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1M1wiO1xufVxuLmljb24tZXVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1M1wiO1xufVxuLmljb24tZ2JwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU0XCI7XG59XG4uaWNvbi1kb2xsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjtcbn1cbi5pY29uLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuLmljb24tZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YlwiO1xufVxuLmljb24tZG90LWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkyXCI7XG59XG4uaWNvbi1jaXJjbGUtdGhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYlwiO1xufVxuLmljb24tcGludGVyZXN0LXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzFcIjtcbn1cbi5pY29uLWhvdXJnbGFzcy0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUyXCI7XG59XG4uaWNvbi1ob3VyZ2xhc3MtaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MlwiO1xufVxuLmljb24tZHJpdmVycy1saWNlbnNlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzNcIjtcbn1cbi5pY29uLWlkLWNhcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjM1wiO1xufVxuLmljb24tY29tcGFyZV9hcnJvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5M2VcIjtcbn1cbi5pY29uLWhpZ2hsaWdodF9vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4ODhcIjtcbn1cbi5pY29uLTNkX3JvdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODRkXCI7XG59XG4uaWNvbi1jb250YWN0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTBiYVwiO1xufVxuLmljb24tZmxpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNTM5XCI7XG59XG4uaWNvbi1kZWxldGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4NzJcIjtcbn1cbi5pY29uLWZ1bGxzY3JlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1ZDBcIjtcbn1cbi5pY29uLWZ1bGxzY3JlZW5fZXhpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVkMVwiO1xufVxuLmljb24tem9vbV9vdXRfbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNTZiXCI7XG59XG4uaWNvbi1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ3XCI7XG59XG4uaWNvbi11bmRvMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2N1wiO1xufVxuLmljb24tcmVkbzI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjhcIjtcbn1cbi5pY29uLWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5NjlcIjtcbn1cbi5pY29uLXJlcGx5MTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk2YVwiO1xufVxuLmljb24tc3Bpbm5lcjQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5N2RcIjtcbn1cbi5pY29uLXNwaW5uZXI1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTdlXCI7XG59XG4uaWNvbi1zcGlubmVyOTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4MlwiO1xufVxuLmljb24tc3Bpbm5lcjEwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTgzXCI7XG59XG4uaWNvbi1lYXJ0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTljYVwiO1xufVxuXG4vLy8vIEVORCBJQ09NT09OIElNUE9SVCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vIEVORCBJQ09NT09OIElNUE9SVCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vIEVORCBJQ09NT09OIElNUE9SVCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vIEVORCBJQ09NT09OIElNUE9SVCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vIEVORCBJQ09NT09OIElNUE9SVCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vIEVORCBJQ09NT09OIElNUE9SVCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLmljb24tdGh1bWJzLXVwLWFsdCB7XG4gIEBleHRlbmQgLmljb24tdGh1bWJzLW8tdXA7XG59XG5cbi5pY29uLXF1ZXN0aW9uLXNpZ24ge1xuICBAZXh0ZW5kIC5pY29uLXF1ZXN0aW9uLWNpcmNsZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEJSQU5EIExPR08gLSBJQ09OXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5saXN0LWxvZ29zIHtcbiAgYVtjbGFzc149XCJpY29uLVwiXSwgYVtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgIG1hcmdpbjogOHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLmljb24tY2sge1xuICAmOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiA3MDtcbiAgfVxufVxuXG4uaWNvbi1jYXJyZXJhLFxuLmljb24tZ3Vlc3MsXG4uaWNvbi1qdXN0LWNhdmFsaSxcbi5pY29uLWtlcmJob2x6LFxuLmljb24tbGUtc3BlY3Mge1xuICAmOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiA1NHB4O1xuICB9XG59XG5cbi5pY29uLWFkaWRhcyxcbi5pY29uLWd1Y2NpLFxuLmljb24taHVnby1ib3NzLFxuLmljb24tTGV2aXMsXG4uaWNvbi1MYWNvc3RlLFxuLmljb24tcGVyc29sLFxuLmljb24tcmF5LWJhbixcbi5pY29uLVRvZF9zLFxuLmljb24tc3dhcm92c2tpLFxuLmljb24tbW9udC1ibGFuYyB7XG4gICY6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDQ2cHg7XG4gIH1cbn1cblxuLmljb24tY29tbWEsXG4uaWNvbi1kaWVzZWwsXG4uaWNvbi1tYXJzaGFsbCxcbi5pY29uLW5pa2UsXG4uaWNvbi1vYWtsZXksXG4uaWNvbi1yYWxwaC1sYXVyZW4sXG4uaWNvbi1zdXBlcmRyeSxcbi5pY29uLVRpbWJlcmxhbmQsXG4uaWNvbi1VdmV4LFxuLmljb24tYXJuZXR0ZSxcbi5pY29uLWRzcXVhcmVkMiB7XG4gICY6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gIH1cbn1cblxuLmljb24tYWxwaW5hLFxuLmljb24tZW1wb3Jpby1hcm1hbmksXG4uaWNvbi1qdWxibyxcbi5pY29uLW1hcmMtamFjb2JzLFxuLmljb24tcHJhZGEsXG4uaWNvbi10b20tZm9yZCxcbi5pY29uLXRvbW15LWhpbGZpZ2VyLFxuLmljb24td29vZC1mZWxsYXMsXG4uaWNvbi1taXUtbWl1LFxuLmljb24tYnVyYmVycnksXG4uaWNvbi1iYWxlbmNpYWdhLFxuLmljb24tZGtueSxcbi5pY29uLWJ2bGdhcmksXG4uaWNvbi1naW9yZ2lvLWFybWFuaSxcbi5pY29uLWVybWVuZWdpbGRvLXplZ25hLFxuLmljb24teXZlcy1zYWludC1sYXVyZW50LFxuLmljb24tdm9ndWUsXG4uaWNvbi12ZXJzYWNlLFxuLmljb24tc21pdGgsXG4uaWNvbi1zZmVyb2ZsZXgsXG4uaWNvbi1zYWZpbG8sXG4uaWNvbi1yb2JlcnRvLWNhdmFsbGksXG4uaWNvbi1yZXBsYXksXG4uaWNvbi1waWVycmUtY2FyZGluLFxuLmljb24tb3h5ZG8sXG4uaWNvbi1tYXJhLW1heCxcbi5pY29uLWx1eG90dGljYSxcbi5pY29uLWVtaWxpby1wdWNjaSB7XG4gICY6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gIH1cbn1cblxuXG4iLCIvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCdXR0b25cbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLmJ1dHRvbi1ncm91cCB7XG5cdG1hcmdpbi1sZWZ0OiAzMHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4uYnV0dG9uIHtcblxuXHQmLmJsYWNrVHJ5b24ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcblx0XHRjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblx0fVxuXG5cdCYuY2F0ZWdvcnkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRtYXJnaW46IDVweCAwcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxuXG5cdCYucGV0cm9sIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtY29sb3IocGV0cm9sKTtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0Ji5ob2xsb3cge1xuXHRcdFx0Y29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBnZXQtY29sb3IocGV0cm9sKTtcblx0XHR9XG5cdH1cblx0Ji5ibG9jayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuXG5cbi5idXR0b24tbGluZSB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG5cdHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHQmLnBldHJvbCB7XG5cdFx0Y29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIGdldC1jb2xvcihwZXRyb2wpO1xuXHR9XG59XG5cbiIsIi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG9yIEJ1bGxldHNcbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLmNvbG9yLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgJi5oYXMtdGlwIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJi5jdXJyZW50IHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDBweCAycHggd2hpdGUsIDAgMCAwcHggM3B4IGdldC1jb2xvcihwZXRyb2wpO1xuICAgIH1cblxuICAgIC5zaW5nbGVfY29sb3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG5cbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENvbG9yXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIC0tLSBDT0xPUiBWQVJJQUJMRVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qIC0tLS0tIGJsYWNrICovXG5cbiRkYXduYmxhY2s6ICRibGFjaztcbiRibGFja3dvb2Q6ICRibGFjaztcbiRtYXJibGVibGFjazogJGJsYWNrO1xuJGVib255OiAkYmxhY2s7XG5cbiRncmFwaGl0ZTogIzQ1NDM0MztcbiRsaWNvcmljZTogIzFhMTExMDtcbiRjYXZpYXI6ICMyNTIxMjI7XG4kY29hbDogIzJDMkMyQztcblxuLyogLS0tLS0gYmxhY2sgLSBwdXJwbGUgKi9cblxuJGJsYWNrY3VycmFudDogIzNEMzI0MjtcblxuLyogLS0tLS0gZ3JheSAqL1xuXG5cbiR3aGl0ZS1ncmF5OiAjZjZmNmY2O1xuJGJnLWdyYXk6ICNmNGY0ZjQ7XG5cbiR0cmFuc3BhcmVudC1ncmF5OiAkZ3JheTtcbiRkYXJrLWdyYXk6ICRncmF5O1xuJHNpbHZlcjogJGdyYXk7XG4kc2lsdmVyZ3JheTogJGdyYXk7XG4kYW50aHJhY2l0ZTogJGdyYXk7XG4kY2FyYm9uOiAkZ3JheTtcbiRndW46ICRncmF5O1xuXG4kbWV0YWxsaWM6ICNCQ0M2Q0M7XG4kZ3Jhbml0ZTogIzk0OTI3QjtcbiRwbGF0aW51bTogI0VERURFRjtcblxuLyogLS0tLS0gd2hpdGUgKi9cblxuJGJyYXNzOiAkd2hpdGU7XG4kY29sb3JsZXNzOiAkd2hpdGU7XG4kbWFyYmxlOiAkd2hpdGU7XG4kdHJhbnNwYXJlbnQ6ICNlNmU2ZmE7XG4kbGlseXdoaXRlOiAjZTllZWViO1xuJGl2b3J5OiAjRkZGRkYwO1xuJGl2cm95OiAkaXZvcnk7XG4kbWF0dGU6ICNkY2RjZGM7XG5cbi8qIC0tLS0tIHllbGxvdyAqL1xuXG4keWVsbG93OiAjZWZjYTAwO1xuJHZhbmlsbGE6ICNmZmVlYWI7XG4kYmVpZ2U6ICNGNUY1REM7XG4kcGFweXJ1czogI0VFREZBNjtcbiRjb2NvOiAjRTBENjI3O1xuJG5vdWdhdDogI2ZkZmFlOTtcbiRjcmVhbTogI2Y0ZGU3ODtcbiRnb2xkOiAkeWVsbG93O1xuJHdoaXRlLWdvbGQ6ICR5ZWxsb3c7XG4kbGlnaHQtZ29sZDogJHllbGxvdztcblxuLyogLS0tLS0gYnJ1biAtIEphdW5lICovXG5cbiRicm93bmdvbGQ6ICR5ZWxsb3c7XG5cbi8qIC0tLS0tIG9yYW5nZSAqL1xuXG4kb3JhbmdlOiAjZmI4ZTBlO1xuJGdyYWluOiAkb3JhbmdlO1xuXG4kYW1iZXI6ICNGRjdFMDA7XG4kYmFtYm9vOiAjREM1QzA1O1xuXG4vKiAtLS0tLSBicnVuIC0gb3JhbmdlICovXG5cbiRvcmFuZ2Vicm93bjogIzhiNjAwZDtcbiRicm9uemU6ICNiNjYyMjU7XG5cbi8qIC0tLS0tIGJyb3duICovXG5cbiRicm93bjogIzZlMzkwMDtcbiRwZXJpZ29yZDogJGJyb3duO1xuJGFmcm9tb3NpYWJyb3duOiAkYnJvd247XG4kdG9mZmVlOiAkYnJvd247XG4kYnVyZ3VuZHk6ICRicm93bjtcbiRtb3R0bGVkOiAkYnJvd247XG5cbiRsaWdodC1icm93bjogI2U2OTIwMDtcbiRsaWdodGJyb3duOiAkbGlnaHQtYnJvd247XG4kbGlnaHQtYnJvd24tbW90dGxlZDogJGxpZ2h0LWJyb3duO1xuJGRhcmstYnJvd246ICM0MjIyMDA7XG4kZGFya2Jyb3duOiAkZGFyay1icm93bjtcbiRkYXJrLWJyb3duLW1vdHRsZWQ6ICRkYXJrLWJyb3duO1xuXG4kY29wcGVyOiAjQjg3MzMzO1xuJGxpZ2h0LWNvcHBlcjogJGNvcHBlcjtcbiRjYXBwdWNjaW5vOiAjQUY4RTQ1O1xuJHBlYXJsOiAjRTlFMERCO1xuJG1vY2hhOiAjNDkzRDI2O1xuJGhhemVsOiAjNTk0YzI2O1xuJGNhcmFtZWw6ICNDQzk5NjY7XG4kY2hvY29sYXRlOiAjN0IzRjAwO1xuXG4vKiAtLS0tLSBicm93biAtIGdyYXkgKi9cblxuJGdyYXlicm93bjogIzY2NGUzNDtcblxuLyogLS0tLS0gQnJ1biAtIHJlZCAqL1xuXG4kcmVkYnJvd246ICM3ZTE4MDA7XG5cbi8qIC0tLS0tIHJlZCAqL1xuXG4kcmVkOiAjZDAwMDAwO1xuJHJlZHRyYW5zcGFyZW5jeTogJHJlZDtcbiRyZWR0cmFuc3BhcmVudDogJHJlZDtcblxuJGJvcmRlYXV4OiAjNTgwNDA0O1xuJGRhcmstcmVkOiAkYm9yZGVhdXg7XG5cbiRmbGFtaW5nbzogI0UxNjM0RjtcbiRjaGVycnl3b29kOiAjNDIwQzA3O1xuJGRhcmstY29wcGVyOiAjNzEyOTFEO1xuXG4vKiAtLS0tLSBwaW5rICovXG5cbiRwaW5rOiAjZGU0MWJmO1xuJHBpbmt0cmFuc3BhcmVuY3k6ICRwaW5rO1xuJGxpZ2h0LXBpbms6ICRwaW5rO1xuXG4kcnVieTogI0UwMTE1RjtcbiRzdW5zZXRyZWQ6ICNiZDExNTk7XG4kYW50aXF1ZXBpbms6ICNkMzZlNzA7XG4kb2FrOiAjNjQwRTI3O1xuJHdpbmU6ICM1ZjA0MjI7XG5cbi8qIC0tLS0tIHB1cnBsZSAqL1xuXG4kcHVycGxlOiAjNjgyMjhCO1xuJGxpbGE6ICRwdXJwbGU7XG4kcGx1bTogJHB1cnBsZTtcbiRsaWdodC1wdXJwbGU6ICRwdXJwbGU7XG4kZGFyay1wdXJwbGU6ICM0ZDA2NzE7XG5cbiRjNTQ5ZTc6ICNiNjAwZTg7XG4kdmlvbGV0OiAjN0YwMEZGO1xuJGhhdmFuYTogIzNiMmIyYztcbiRlYm9ueTogIzBGMEIxOTtcblxuLyogLS0tLS0gYmx1ZSAqL1xuXG4kYmx1ZTogIzAwNzVFQTtcbiRibHVldHJhbnNwYXJlbmN5OiAkYmx1ZTtcbiRibHVldHJhbnNwYXJlbnQ6ICRibHVlO1xuJGxpZ2h0LWJsdWU6ICM5NWNhZmY7XG4kbGlnaHRibHVlOiAkbGlnaHQtYmx1ZTtcbiRkYXJrLWJsdWU6ICMwMDNhNzU7XG4kZGFya2JsdWU6ICRkYXJrLWJsdWU7XG5cbiRvY2VhbjogIzFDNkJBMDtcbiRtaWRuaWdodGJsdWU6ICMwMDMzNjY7XG4kc2lsdmVyYmx1ZTogIzVlOTFjMztcbiR0aXRhbjogI0YxRjBGRjtcbiRuYXZ5OiAjMDMyMjRDO1xuXG4kaWNlOiAjQTVGMkYzO1xuJHR1cnF1b2lzZTogIzAwYmRkOTtcbiR0dXJxb3Vpc2U6ICR0dXJxdW9pc2U7XG5cbi8qIC0tLS0tIGJsdWUgLSBncmVlbiAqL1xuXG4kZ3JlZW5ibHVlOiAjMGZhYjkwO1xuJGpld2VsOiAjMWE4MDc5O1xuXG4vKiAtLS0tLSBncmVlbiAqL1xuXG4kZ3JlZW46ICM0ZmQ0NGM7XG4kZ3JlZW50cmFuc3BhcmVuY3k6ICRncmVlbjtcbiRncmVlbnRyYW5zcGFyZW50OiAkZ3JlZW47XG4kbGlnaHQtZ3JlZW46ICM5ZWYwOWM7XG4kbGlnaHRncmVlbjogJGxpZ2h0LWdyZWVuO1xuJGRhcmstZ3JlZW46ICMxZTdiMWI7XG4kZGFya2dyZWVuOiAkZGFyay1ncmVlbjtcblxuJG1vc3NncmVlbjogI0FEREZBRDtcbiRtb3NzOiAjNDM5MDI1O1xuJG1pbnQ6ICM5OEZGOTg7XG5cbi8qIC0tLS0tIG9saXZlICovXG5cbiRvbGl2ZTogIzdlODUyYztcbiRkYXJrLW9saXZlOiAjNGI0ZjE4O1xuJGRhcmtvbGl2ZTogJGRhcmstb2xpdmU7XG5cbi8vIC0tLSBDT0xPUiBDTEFTU1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbi50cmFuc3BhcmVudCB7IGJhY2tncm91bmQtY29sb3I6ICR0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4uYmx1ZSwgLmJsdWV0cmFuc3BhcmVuY3ksIC5ibHVldHJhbnNwYXJlbnQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50OyB9XG4ubGlnaHRicm93biwgLmxpZ2h0LWJyb3duIHsgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0YnJvd24gIWltcG9ydGFudDsgfVxuLmRhcmticm93biwgLmRhcmstYnJvd24geyBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2Jyb3duICFpbXBvcnRhbnQ7IH1cbi5kYXJrYmx1ZSwgLmRhcmstYmx1ZSB7IGJhY2tncm91bmQtY29sb3I6ICRkYXJrYmx1ZSAhaW1wb3J0YW50OyB9XG4uZGFyay1icm93biwgLmRhcmticm93biB7IGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWJyb3duICFpbXBvcnRhbnQ7IH1cbi5ncmVlbiwgLmdyZWVudHJhbnNwYXJlbmN5LCAuZ3JlZW50cmFuc3BhcmVudCB7IGJhY2tncm91bmQtY29sb3I6ICRncmVlbiAhaW1wb3J0YW50OyB9XG4ubGlnaHQtZ3JlZW4sIC5saWdodGdyZWVuIHsgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyZWVuICFpbXBvcnRhbnQ7IH1cbi5kYXJrLWdyZWVuLCAuZGFya2dyZWVuIHsgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JlZW4gIWltcG9ydGFudDsgfVxuLmdyYXksIC50cmFuc3BhcmVudC1ncmF5LCAuZ3JleSB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7IH1cbi5saWdodC1ibHVlLCAubGlnaHRibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJsdWUgIWltcG9ydGFudDsgfVxuLnJlZCwgLnJlZHRyYW5zcGFyZW5jeSwgLnJlZHRyYW5zcGFyZW50IHsgYmFja2dyb3VuZC1jb2xvcjogJHJlZCAhaW1wb3J0YW50OyB9XG4uYm9yZGVhdXgsIC5kYXJrLXJlZCB7IGJhY2tncm91bmQtY29sb3I6ICRib3JkZWF1eCAhaW1wb3J0YW50OyB9XG4udHVycXVvaXNlLCAudHVycW91aXNlIHsgYmFja2dyb3VuZC1jb2xvcjogJHR1cnF1b2lzZSAhaW1wb3J0YW50OyB9XG4ubGlnaHQtYnJvd24sIC5saWdodGJyb3duIHsgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWJyb3duICFpbXBvcnRhbnQ7IH1cbi5waW5rLCAucGlua3RyYW5zcGFyZW5jeSB7IGJhY2tncm91bmQtY29sb3I6ICRwaW5rICFpbXBvcnRhbnQ7IH1cbi5kYXJrb2xpdmUsIC5kYXJrLW9saXZlIHsgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtvbGl2ZSAhaW1wb3J0YW50OyB9XG4ucHVycGxlLCAucGx1bSwgLmxpbGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlICFpbXBvcnRhbnQ7IH1cbi5ibGFjayB7IGJhY2tncm91bmQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50OyB9XG4uZ3JheSB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5ICFpbXBvcnRhbnQ7fVxuLmRhcmstcHVycGxlIHsgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstcHVycGxlICFpbXBvcnRhbnQ7IH1cbi5zaWx2ZXJibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpbHZlcmJsdWUgIWltcG9ydGFudDsgfVxuLmJyb3duLCAucGVyaWdvcmQsIC5hZnJvbW9zaWFicm93biwgLnRvZmZlZSwgLmJ1cmd1bmR5LCAubW90dGxlZCB7IGJhY2tncm91bmQtY29sb3I6ICRicm93biAhaW1wb3J0YW50OyB9XG4uYnJvbnplIHsgYmFja2dyb3VuZC1jb2xvcjogJGJyb256ZSAhaW1wb3J0YW50OyB9XG4uY3JlYW0geyBiYWNrZ3JvdW5kLWNvbG9yOiAkY3JlYW0gIWltcG9ydGFudDsgfVxuLmdyYXlicm93biB7IGJhY2tncm91bmQtY29sb3I6ICRncmF5YnJvd24gIWltcG9ydGFudDsgfVxuLm1vc3MgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9zcyAhaW1wb3J0YW50OyB9XG4uZ3JlZW5ibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuYmx1ZSAhaW1wb3J0YW50OyB9XG4ucmVkYnJvd24geyBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkYnJvd24gIWltcG9ydGFudDsgfVxuLndpbmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkd2luZSAhaW1wb3J0YW50OyB9XG4uYzU0OWU3IHsgYmFja2dyb3VuZC1jb2xvcjogJGM1NDllNyAhaW1wb3J0YW50OyB9XG4ub2xpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkb2xpdmUgIWltcG9ydGFudDsgfVxuLnZhbmlsbGEgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFuaWxsYSAhaW1wb3J0YW50OyB9XG4ub3JhbmdlIHsgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZSAhaW1wb3J0YW50OyB9XG4ub3JhbmdlYnJvd24geyBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlYnJvd24gIWltcG9ydGFudDsgfVxuLndoaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IH1cbi5kYXJrYmx1ZSB7IGJhY2tncm91bmQtY29sb3I6ICRkYXJrYmx1ZSAhaW1wb3J0YW50OyB9XG4ueWVsbG93IHsgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdyAhaW1wb3J0YW50OyB9XG4uY2FwcHVjY2lubyB7IGJhY2tncm91bmQtY29sb3I6ICRjYXBwdWNjaW5vICFpbXBvcnRhbnQ7IH1cbi52aW9sZXQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdmlvbGV0ICFpbXBvcnRhbnQ7IH1cbi5wbGF0aW51bSB7IGJhY2tncm91bmQtY29sb3I6ICRwbGF0aW51bSAhaW1wb3J0YW50OyB9XG4uZ3JhcGhpdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JhcGhpdGUgIWltcG9ydGFudDsgfVxuLnBlYXJsIHsgYmFja2dyb3VuZC1jb2xvcjogJHBlYXJsICFpbXBvcnRhbnQ7IH1cbi5jaG9jb2xhdGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvY29sYXRlICFpbXBvcnRhbnQ7IH1cbi5tb2NoYSB7IGJhY2tncm91bmQtY29sb3I6ICRtb2NoYSAhaW1wb3J0YW50OyB9XG4uZ3Jhbml0ZSB7IGJhY2tncm91bmQtY29sb3I6ICRncmFuaXRlICFpbXBvcnRhbnQ7IH1cbi5vY2VhbiB7IGJhY2tncm91bmQtY29sb3I6ICRvY2VhbiAhaW1wb3J0YW50OyB9XG4uY29jbyB7IGJhY2tncm91bmQtY29sb3I6ICRjb2NvICFpbXBvcnRhbnQ7IH1cbi5pY2UgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNlICFpbXBvcnRhbnQ7IH1cbi5mbGFtaW5nbyB7IGJhY2tncm91bmQtY29sb3I6ICRmbGFtaW5nbyAhaW1wb3J0YW50OyB9XG4uaGF6ZWwgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaGF6ZWwgIWltcG9ydGFudDsgfVxuLmJlaWdlIHsgYmFja2dyb3VuZC1jb2xvcjogJGJlaWdlICFpbXBvcnRhbnQ7IH1cbi5hbWJlciB7IGJhY2tncm91bmQtY29sb3I6ICRhbWJlciAhaW1wb3J0YW50OyB9XG4uaGF2YW5hLCAuSEFWQU5BIHsgYmFja2dyb3VuZC1jb2xvcjogJGhhdmFuYSAhaW1wb3J0YW50OyB9XG4ubWV0YWxsaWMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkbWV0YWxsaWMgIWltcG9ydGFudDsgfVxuLnRpdGFuIHsgYmFja2dyb3VuZC1jb2xvcjogJHRpdGFuICFpbXBvcnRhbnQ7IH1cbi5pdnJveSB7IGJhY2tncm91bmQtY29sb3I6ICRpdnJveSAhaW1wb3J0YW50OyB9XG4uYmxhY2tjdXJyYW50IHsgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrY3VycmFudCAhaW1wb3J0YW50OyB9XG4uYmFtYm9vIHsgYmFja2dyb3VuZC1jb2xvcjogJGJhbWJvbyAhaW1wb3J0YW50OyB9XG4ucGFweXJ1cyB7IGJhY2tncm91bmQtY29sb3I6ICRwYXB5cnVzICFpbXBvcnRhbnQ7IH1cbi5ydWJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJHJ1YnkgIWltcG9ydGFudDsgfVxuLmpld2VsIHsgYmFja2dyb3VuZC1jb2xvcjogJGpld2VsICFpbXBvcnRhbnQ7IH1cbi5saWNvcmljZSB7IGJhY2tncm91bmQtY29sb3I6ICRsaWNvcmljZSAhaW1wb3J0YW50OyB9XG4uZWJvbnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkZWJvbnkgIWltcG9ydGFudDsgfVxuLmdyYWluIHsgYmFja2dyb3VuZC1jb2xvcjogJGdyYWluICFpbXBvcnRhbnQ7IH1cbi5vYWsgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkb2FrICFpbXBvcnRhbnQ7IH1cbi5tb3NzZ3JlZW4geyBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9zc2dyZWVuICFpbXBvcnRhbnQ7IH1cbi5taW50IHsgYmFja2dyb3VuZC1jb2xvcjogJG1pbnQgIWltcG9ydGFudDsgfVxuLmNoZXJyeXdvb2QgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlcnJ5d29vZCAhaW1wb3J0YW50OyB9XG4ucGVyaWdvcmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkcGVyaWdvcmQgIWltcG9ydGFudDsgfVxuLmNhcmFtZWwgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyYW1lbCAhaW1wb3J0YW50OyB9XG4ubm91Z2F0IHsgYmFja2dyb3VuZC1jb2xvcjogJG5vdWdhdCAhaW1wb3J0YW50OyB9XG4ubGlseXdoaXRlIHsgYmFja2dyb3VuZC1jb2xvcjogJGxpbHl3aGl0ZSAhaW1wb3J0YW50OyB9XG4uc3Vuc2V0cmVkIHsgYmFja2dyb3VuZC1jb2xvcjogJHN1bnNldHJlZCAhaW1wb3J0YW50OyB9XG4uZGF3bmJsYWNrIHsgYmFja2dyb3VuZC1jb2xvcjogJGRhd25ibGFjayAhaW1wb3J0YW50OyB9XG4ubWlkbmlnaHRibHVlIHsgYmFja2dyb3VuZC1jb2xvcjogJG1pZG5pZ2h0Ymx1ZSAhaW1wb3J0YW50OyB9XG4uYmxhY2t3b29kIHsgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrd29vZCAhaW1wb3J0YW50OyB9XG4uYWZyb21vc2lhYnJvd24geyBiYWNrZ3JvdW5kLWNvbG9yOiAkYWZyb21vc2lhYnJvd24gIWltcG9ydGFudDsgfVxuLmNhdmlhciB7IGJhY2tncm91bmQtY29sb3I6ICRjYXZpYXIgIWltcG9ydGFudDsgfVxuLmFudGlxdWVwaW5rIHsgYmFja2dyb3VuZC1jb2xvcjogJGFudGlxdWVwaW5rICFpbXBvcnRhbnQ7IH1cbi5kYXJrLWNvcHBlciB7IGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWNvcHBlciAhaW1wb3J0YW50OyB9XG4uZGFyay1ncmF5IHsgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheSAhaW1wb3J0YW50OyB9XG4uY29hbCB7IGJhY2tncm91bmQtY29sb3I6ICRjb2FsICFpbXBvcnRhbnQ7IH1cbi5pdm9yeSB7IGJhY2tncm91bmQtY29sb3I6ICRpdm9yeSAhaW1wb3J0YW50OyB9XG4ubmF2eSB7IGJhY2tncm91bmQtY29sb3I6ICRuYXZ5ICFpbXBvcnRhbnQ7IH1cbi5tYXR0ZSB7IGJhY2tncm91bmQtY29sb3I6ICRtYXR0ZSAhaW1wb3J0YW50OyB9XG4uZ29sZCB7IGJhY2tncm91bmQtY29sb3I6ICRnb2xkICFpbXBvcnRhbnQ7IH1cbi5zaWx2ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lsdmVyICFpbXBvcnRhbnQ7IH1cbi5ncmFkaWVudCB7IGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg2MGRlZywgJHdoaXRlLCAkYmxhY2spICFpbXBvcnRhbnQ7IH1cblxuIiwiQG1peGluIGRhcmsoJHZhbHVlKSB7XG4gICAgY29sb3I6IGRhcmtlbigkdmFsdWUsIDEwJSk7XG59XG5cbi8vLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAuLiBFWFRFTkRcbi8vICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWl4aW4gdHJhbnNpdGlvbi1zbW9vdGgoJHByb3ByZXR5OlwiYmFja2dyb3VuZC1jb2xvclwiKXtcbiAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wcmV0eTtcbiAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3ByZXR5O1xuICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7XG59XG5cbkBtaXhpbiBkYXJrZW5QaWN0dXJlKCR2YWx1ZTogOTclKXtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoJHZhbHVlKTtcbn1cblxuQG1peGluIGJyYW5kcygkdXJsSW1hZ2UsICRwb3NpdGlvbjE6LTJweCwgJHBvc2l0aW9uMjotMnB4LCAkcmVwZWF0Om5vLXJlcGVhdCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxNDBweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL2xvZ28vI3skdXJsSW1hZ2V9LnBuZykgJHBvc2l0aW9uMSAkcG9zaXRpb24yICRyZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5AbWl4aW4gZmFkZS1pbi11cC1pbml0aWFsIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAycHgsIDApO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xufVxuXG5AbWl4aW4gZmFkZS1pbi11cCB7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICBhbmltYXRpb24tZHVyYXRpb246IC4ycztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn0iLCIvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXNldFxuLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyAtLS0gLiBWQVJJQUJMRVxuLy8gLS0tIC4gQkFTRVxuLy8gLS0tIC4gQ2FsbG91dHNcbi8vIC0tLSAuIEJ1dHRvbnNcbi8vIC0tLSAuIFotSW5kZXhlc1xuLy8gLS0tIC4gQm94XG4vLyAtLS0gLiBNRU5VXG4vLyAtLS0gLiBTVElDS1kgQ0FSVCBhbmQgZ2VuZXJhbCBzdGlja2luZXNzXG4vLyAtLS0gLiBGbGFncyBhbmQgbGFuZ3VhZ2VzIGxpbmtzXG4vLyAtLS0gLiBSYXRpbmdzIHN0YXJzXG4vLyAtLS0gLiBIb2xsb3cgbGFiZWxzXG4vLyAtLS0gLiBBbW91bnRzIHBpbGwgKCsgYW5kIC0pXG4vLyAtLS0gLiBGYWtlIHRhYmxlc1xuLy8gLS0tIC4gU3RlcCBQcm9ncmVzc1xuLy8gLS0tIC4gcGFnaW5hdGlvblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAwLiBWQVJJQUJMRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBTdGlja3kgbmF2IG1vYmlsZVxuXG4kaGVpZ2h0LXRpdGxlLWJhci1oZWlnaHQ6IDUwcHg7XG5cbi8vICBEZXNjcmlwdGlvbiBib3R0b21cblxuJGZvbnQtc2l6ZS1zbWFsbDogMTJweDtcbiRsaW5lLWhlaWdodC1zbWFsbDogMS4zNDsgLyogZWdhbCAxNnB4ICovXG4kbGluZXMtdG8tc2hvdy1zbWFsbDogMjtcblxuJGZvbnQtc2l6ZS1sYXJnZTogMTVweDtcbiRsaW5lLWhlaWdodC1sYXJnZTogMjsgLyogZWdhbCAzMHB4ICovXG4kbGluZXMtdG8tc2hvdy1sYXJnZTogMztcblxuJGxpbmUtaGVpZ2h0LWJvdHRvbS1zbWFsbDogMS42MDsgLyogMS42MCBlZ2FsIDE5cHggKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMS4gQkFTRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sLCBib2R5IHtcbiAgICAvL2hlaWdodDogMTAwJTsgICAgLy8gRG9uJ3QgZG8gdGhpcywgaXQgYnJlYWtzIHRoZSBzdGlja3kgZWxlbWVudHMgYmVoYXZpb3VyISEhISEhXG59XG5cbi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG50YWJsZSB7XG4gICAgdGhlYWQsIHRib2R5LCB0Zm9vdCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodGVyLWdyYXk7XG4gICAgfVxufVxuXG50YWJsZS5zdGF0aXN0aWNzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGhlYWQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zdGF0IHtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuICAgIH1cbn1cblxuLy8ubWFyZ2luIHtcbi8vICAgIG1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4vL31cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAubWFyZ2luLXRvcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWFyZ2luLWJvdHRvbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5uby1tYXJnaW4ge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uY2xlYXJmaXgge1xuICAgIGNsZWFyOiBib3RoO1xufVxuLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jZW50ZXItaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICYgPiAqIHtcbiAgICAgICAgZm9udC1zaXplOiA5NnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgLiBDYWxsb3V0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNhbGxvdXQge1xuICAgIFtjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgfVxuICAgICYucHJpbWFyeSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmFsZXJ0IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi53YXJuaW5nIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4gICAgICAgIFtjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc3VjY2VzcyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBNZWRpYSBvYmplY3RzIGluc2lkZSBjYWxsb3V0c1xuICAgIC5tZWRpYS1vYmplY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAvLyBUaXRsZXMgcmlnaHQgc3BhY2UgZm9yIFwiY2xvc2luZ1wiIGNyb3NzXG4gICAgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gQnV0dG9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIuIFotSW5kZXhlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4jdGl0bGUtYmFyLWNvbnRhaW5lciB7XG4gICAgei1pbmRleDogMTAwMDtcbn1cblxuI2xhbmd1YWdlLXNlbGVjdG9yIC5kcm9wZG93bi1wYW5lIHtcbiAgICB6LWluZGV4OiA4NjA7XG59XG5cbi5uYXZpZ2F0aW9uLWRlc2t0b3AtY29udGFpbmVyIHtcbiAgICB6LWluZGV4OiA4NTAgIWltcG9ydGFudDtcbiAgICAubWVnYS1kcm9wZG93bnMtY29udGFpbmVyIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICAgei1pbmRleDogODYwO1xuICAgIH1cbn1cblxuI3NlYXJjaC1pbnB1dC1yZXN1bHRzIHtcbiAgICB6LWluZGV4OiAxMTAwO1xufVxuXG4jcHJvZHVjdC1jb250YWluZXIge1xuICAgIC5wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIHotaW5kZXg6IDgwMDtcbiAgICAgICAgLmFkZC10by1jYXJ0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB6LWluZGV4OiA4NTA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNmaWx0ZXItbmF2LWNvbnRhaW5lciB7XG4gICAgei1pbmRleDogMTA7XG4gICAgLnNob3ctcmVzdWx0cy1jb250YWluZXIge1xuICAgICAgICB6LWluZGV4OiA4NTA7XG4gICAgfVxufVxuXG4ub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB6LWluZGV4OiA5MDAgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgLiBCb3hcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmJveCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcbiAgICAvL21hcmdpbjogMjBweCAwIDUwcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDE2cHggcmdiYSgwLDAsMCwuMDEpO1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gTUVOVVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubWVudS5kcmlsbGRvd24ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gU3RpY2t5IHRoaW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubWFrZS1zdGlja3kge1xuICAgIC8vcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgNS4gRmxhZ3MgYW5kIGxhbmd1YWdlcyBsaW5rcyAodG9wIGJhciBhbmQgZm9vdGVyKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLmxhbmd1YWdlIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjJyZW0gMC4yMjVyZW0gMC40cmVtIDAuM3JlbTtcbn1cblxuLmZsYWcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ZsYWdzL2ZsYWdzLXNwcml0ZS5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvL3pvb206IDUwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCA4cHggM3B4IDA7XG5cblxuICAgICYuZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMTJweDtcbiAgICB9XG4gICAgJi5mciB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAwcHg7XG4gICAgfVxuICAgICYuZnItYmUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggODRweDtcbiAgICB9XG4gICAgJi5ubCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCA3MnB4O1xuICAgIH1cbiAgICAmLm5sLWJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDE2OHB4O1xuICAgIH1cbiAgICAmLmVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDYwcHg7XG4gICAgfVxuICAgICYucHQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggNDhweDtcbiAgICB9XG4gICAgJi5kZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAzNnB4O1xuICAgIH1cbiAgICAmLmV1IHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDI0cHg7XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gTGlzdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnVsIHtcbiAgICBsaSB7XG4gICAgICAgICYudGl0bGUge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNDM3NXJlbTtcblxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA1LjEuIEZsYWdzIFgyIGZvciBjdXN0b21lciBjb250YWN0IHNlcnZpY2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAuZmxhZy1YMiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgICAgICAmLmVuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ZsYWdzL2ZsYWctdWsuc3ZnJyk7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgICAmLmZyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ZsYWdzL2ZsYWctZnJhbmNlLnN2ZycpO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5mci1iZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9mbGFncy9mbGFnLWJlbGdpdW0uc3ZnJyk7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgICAmLm5sIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ZsYWdzL2ZsYWctbmV0aGVybGFuZHMuc3ZnJyk7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgICAmLm5sLWJlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ZsYWdzL2ZsYWctYmVsZ2l1bS5zdmcnKTtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgICYuZXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZmxhZ3MvZmxhZy1zcGFpbi5zdmcnKTtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgICYucHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZmxhZ3MvZmxhZy1wb3J0dWdhbC5zdmcnKTtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA2LiBSYXRpbmdzIHN0YXJzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucmF0aW5nLXN0YXJzIHtcbiAgICBjb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAuaWNvbi1zdGFyIHtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDcuIEhvbGxvdyBsYWJlbHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxhYmVsIHtcbiAgICAmLmhvbGxvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgIC8vYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA4LiBBbW91bnRzIHBpbGwgKG1pbnVzIGFuZCBwbHVzIGFtb3VudCBtb2RpZmllcilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFtb3VudC1waWxsIHtcblxuICAgID4gKiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkLFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgOS4gRmFrZSB0YWJsZXNcbiAgIFVzZWQgZm9yIG1pbWlraW5nIHRoZSBiZWhhdmlvdXIgb2YgYSB0YWJsZSBpbnNpZGUgYW4gYWNjb3JkaW9uLWNvbnRlbnQgbGlcbiAgIFllYWgsIHRhYmxlcyBpbnNpZGUgYWNjb3JkaW9ucyBkb2VzIGp1c3Qgbm90IHdvcmsgYXQgYWxsIVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmFrZS10YWJsZSB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuXG4gICAgLmNlbGwge1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLy8gRmlyc3Qgcm93XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpcnN0IGNvbHVtblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIi5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmFrZS10YWJsZS1sZWZ0IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgLmNlbGwge1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgLy8gRmlyc3Qgcm93XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZpcnN0IGNvbHVtblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIi5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTEuIFN0ZXAgUHJvZ3Jlc3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByb2dyZXNzLXRyYWNrZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAyMHB4IDAgMzBweCAwO1xuICAgIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gICAgLy8gbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIC8vIHBhZGRpbmc6IDA7XG4gICAgLy8gaGVpZ2h0OiAzNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMzBweCAwO1xuICAgIH1cbiAgICAuc3RlcC1iYWxsIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSkgXCIgIFwiO1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3IocGV0cm9sKTtcbiAgICAgICAgfVxuICAgICAgICAuc3RlcC1iYXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBtYXJnaW46IDAuNzVyZW0gMCAwIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHBldHJvbCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN0ZXAtdGV4dCB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjc1cmVtLCAtNjUlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjc1cmVtLCAtNjUlKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDFyZW0sIC04MCUpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcmVtLCAtODAlKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3RlcC1maW5hbCB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgY29udGVudDogY291bnRlcihpdGVtKSBcIiAgXCI7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHBldHJvbCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgLiBUYWJzIGFuZCBcIkZSRUVcIiAobm8gYm9yZGVyIGNlbnRlcmVkIHZlcnNpb25zKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGFicyB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRhYnMuZnJlZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgICAudGFicy10aXRsZSB7XG4gICAgICAgIC8vQGluY2x1ZGUgeHktY2VsbChmdWxsLCBmYWxzZSk7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgZmFsc2UpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg1MCUsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRncmlkLW1hcmdpbi1ndXR0ZXJzLCBtYXJnaW4sIHRvcCByaWdodCBib3R0b20gbGVmdCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAvLyBBY3RpdmUgc3R5bGluZ1xuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdpdGggXCJyZWNvbW1lbmRlZFwiIGxhYmVsXG4gICAgICAgICYucmVjb21tZW5kZWQge1xuICAgICAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGFiZWw7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJyZWNvbW1lbmRlZCFcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKHN1Y2Nlc3MpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC02cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAtMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIEBleHRlbmQgLmJveDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tc21vb3RoKCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIC50YWJCdWxsZXRzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgc3Bhbi5pY29uLWRvdC1jaXJjbGUtbyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4uaWNvbi1kb3QtY2lyY2xlLW86YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuLmljb24tY2lyY2xlLXRoaW46YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ncmlkLXgge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmFsaWduLW1pZGRsZTtcblxuICAgICAgICAgICAgICAgIC5jZWxsIHtcbiAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4gICAgICAgICAgICAgICAgICAgIC8vQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCBwYWRkaW5nLCB0b3AgcmlnaHQgYm90dG9tIGxlZnQpO1xuXG5cbiAgICAgICAgICAgICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYm90dG9tIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVzdC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9AaW5jbHVkZSB4eS1jZWxsKGZ1bGwsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgJGdsb2JhbC1tYXJnaW4vNFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGdsb2JhbC1tYXJnaW4vMiAwIDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gQWx0ZXJuYXRlIGNvbG9yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hbHRlcm5hdGUge1xuICAgIC8vIFRpdGxlc1xuICAgID4gaDIsIHNlY3Rpb24gPiBoMixcbiAgICA+IGgzLCBzZWN0aW9uID4gaDMsXG4gICAgPiBoNCwgc2VjdGlvbiA+IGg0LFxuICAgID4gaDUsIHNlY3Rpb24gPiBoNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICogMjtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmLnBhZGRpbmcge1xuICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcqMiAwO1xuICAgIH1cbiAgICAvL21hcmdpbjogJGdsb2JhbC1tYXJnaW4gMDtcblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXN0LWdyYXk7XG4gICAgICAgICYuZGl2aWRlcjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZCBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0ZXItZ3JheTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAmLmRpdmlkZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gSGVscGVyIGljb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGVscGVyLWljb24ge1xuICAgIEBleHRlbmQgLmljb24tc3R5bGU7XG4gICAgQGV4dGVuZCAuaWNvbi1xdWVzdGlvbi1jaXJjbGUtbztcbiAgICBjb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwcHggNXB4O1xuICAgIHBhZGRpbmc6IDBweCAwIDFweDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiAgICB9XG4gICAgLy9AaW5jbHVkZSBiYWRnZTtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuICAgIC8vY29sb3I6ICR3aGl0ZTtcbiAgICAvLyY6YmVmb3JlIHtcbiAgICAvLyAgICBAZXh0ZW5kIC5pY29uLWluZm87XG4gICAgLy8gICAgQGV4dGVuZCAuaWNvbi1zdHlsZTtcbiAgICAvL31cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgLiBTdGVwIFByb2dyZXNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIC4gU2VsZWN0IGNsb25lIDogUmVwcm9kdWNlIHRoZSBsb29rICduIGZlZWwgb2YgYVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Qgb24gYSBzcGFuIGVsZW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNlbGVjdC1jbG9uZSB7XG4gICAgYmFja2dyb3VuZDogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nIDM0cHggJGlucHV0LXBhZGRpbmcgJGlucHV0LXBhZGRpbmcqMjtcbiAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBleHRlbmQgLmljb24tY2FyZXQtZG93bjtcbiAgICAgICAgQGV4dGVuZCAuaWNvbi1zdHlsZTtcbiAgICAgICAgLy9mb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vc3BlYWs6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yO1xuICAgICAgICAvL2ZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgLy9mb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAvL2ZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICAvL3RleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAvL2xpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbn1cblxuXG5cbiIsIlxuLm1hdGVyaWFsX2Zvcm0ge1xuLy8gLmZ1bm5lbC1ib2R5IHtcblxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAvL3BhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgICAgIC8vIElucHV0czpcbiAgICAgICAgaW5wdXRbdHlwZT0nZW1haWwnXSB+IGxhYmVsLFxuICAgICAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddIH4gbGFiZWwsXG4gICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSB+IGxhYmVsLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGVsXCJdIH4gbGFiZWwsXG4gICAgICAgIGlucHV0W3R5cGU9J3NlbGVjdCddIH4gbGFiZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICAgICAgLy9mb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9J3RleHQnXTp2YWxpZDpyZXF1aXJlZCB+IGxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRhcmsoZ2V0LWNvbG9yKHN1Y2Nlc3MpKTtcbiAgICAgICAgICAgIC8vY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvL2lucHV0OmludmFsaWQgfiBsYWJlbCB7XG4gICAgICAgIC8vICAgIGNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuICAgICAgICAvLyAgICAvL2NvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAvL31cblxuICAgICAgICAvL2lucHV0OmZvY3VzIH4gbGFiZWwge1xuICAgICAgICAvLyAgICBjb2xvcjogZ2V0LWNvbG9yKHBldHJvbCk7XG4gICAgICAgIC8vfVxuXG4gICAgICAgIC8vLy9pbnB1dDppbmRldGVybWluYXRlIH4gbGFiZWwsXG4gICAgICAgIC8vaW5wdXQ6Zm9jdXMgfiBsYWJlbCxcbiAgICAgICAgLy9pbnB1dDp2YWxpZDpyZXF1aXJlZCB+IGxhYmVsLyosXG4gICAgICAgIC8vaW5wdXQ6dmFsaWQ6b3B0aW9uYWwgfiBsYWJlbCovIHtcbiAgICAgICAgLy8gICAgdG9wOiAwO1xuICAgICAgICAvLyAgICBsZWZ0OiAwO1xuICAgICAgICAvLyAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCwgMC44KTtcbiAgICAgICAgLy99XG5cbiAgICAgICAgLy9pbnB1dDppbmRldGVybWluYXRlIH4gbGFiZWwsXG4gICAgICAgIGlucHV0W3R5cGU9J2VtYWlsJ106Zm9jdXMgfiBsYWJlbCxcbiAgICAgICAgaW5wdXRbdHlwZT0nZW1haWwnXTp2YWxpZCB+IGxhYmVsLFxuICAgICAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddOmZvY3VzIH4gbGFiZWwsXG4gICAgICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ106dmFsaWQgfiBsYWJlbCxcbiAgICAgICAgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzIH4gbGFiZWwsXG4gICAgICAgIGlucHV0W3R5cGU9J3RleHQnXTp2YWxpZCB+IGxhYmVsLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzIH4gbGFiZWwsXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06dmFsaWQgfiBsYWJlbCB7ICAgICAgICAgICAgICAgLy8gOnJlcXVpcmVkPz9cbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCwgMC44KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInRlbFwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuXG5cbiAgICAgICAgaW5wdXRbdHlwZT0nZW1haWwnXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cyxcbiAgICAgICAgaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICB9XG5cblxuICAgICAgICBpbnB1dFt0eXBlPSdlbWFpbCddOmludmFsaWQgfiBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vLmFmdGVyIHtcbiAgICAgICAgLy8gICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vICAgIGhlaWdodDogMnB4O1xuICAgICAgICAvLyAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJlZCA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gICAgICAgIC8vICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgLy8gICAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7XG4gICAgICAgIC8vICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDtcbiAgICAgICAgLy8gICAgdHJhbnNpdGlvbjogYWxsIDAuNnMgZWFzZTtcbiAgICAgICAgLy99XG5cbiAgICAgICAgLy9pbnB1dDpmb2N1cyB+IC5hZnRlciB7XG4gICAgICAgIC8vICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgICAgLy99XG5cblxuICAgICAgICAvLyBTZWxlY3RzOlxuICAgICAgICBzZWxlY3QgfiBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvL3RvcDogMjVweDtcbiAgICAgICAgICAgIC8vbGVmdDogOHB4O1xuICAgICAgICAgICAgLy9jb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgLy90cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICAgICAgICAgICAgLy90cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44LCAwLjgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gQ2hlY2tib3hcbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IGxhYmVsIHtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogcGluaztcbiAgICAgICAgICAgIC8vYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwOTZcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICAgICAgICBAaW5jbHVkZSBkYXJrKGdldC1jb2xvcihwZXRyb2wpKTtcbiAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwIDAgNHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwNDZcIjtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gR2VuZXJhbFxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6Zm9jdXMgfiBsYWJlbCxcbiAgICAgICAgc2VsZWN0OmZvY3VzIH4gbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6Zm9jdXMsXG4gICAgICAgIHNlbGVjdDpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBnZXQtY29sb3IocGV0cm9sKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgICAgICAgICAgLy9ib3JkZXItYm90dG9tLWNvbG9yOiByZWQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9pbnB1dFt2YWx1ZT1cIlwiXSB7XG4gICAgICAgIC8vICAgIGJhY2tncm91bmQ6IHJlZDtcbiAgICAgICAgLy99XG5cbiAgICAgICAgLy9zZWxlY3Q6Zm9jdXMgfiBsYWJlbCxcbiAgICAgICAgLy9zZWxlY3Q6dmFsaWQgfiBsYWJlbCB7XG4gICAgICAgIC8vfVxuXG4gICAgfVxuXG59XG5cbiIsIi5pbmxpbmVfZm9ybSB7XG4gIC5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAvLyBMYWJlbFxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiA6IFwiO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBJbnB1dHM6XG4gICAgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIGlucHV0W3R5cGU9J3NlbGVjdCddLFxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10sXG4gICAgc2VsZWN0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA2NSU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3AgOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmb250LXNpemU6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICAgIC5kYXRlLUJpcnRoIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA2NSU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICB9XG4gICAgICAuZGF0ZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8pO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBidXR0b24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1NXB4O1xuICAgIH1cbiAgfVxufSIsIi5oZWFkZXItZGVza3RvcCB7XG5cdFxuXHQuaGVhZGVyLWxlZnQge1xuXG5cdH1cblxuXHQuaGVhZGVyLWNlbnRlciB7XG5cdFx0LmxvZ28tbGluayB7XG5cdFx0XHQvLyBoZWlnaHQ6IDYwcHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHQvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL2xvZ28vbG9nb191ay5zdmcnKTtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdFx0XHRtYXJnaW46IDE1cHggMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaGVhZGVyLXJpZ2h0IHtcblx0XHRmb250LXNpemU6IDkwJTtcblxuXHRcdC5ncmlkLXkge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHQuY2VsbCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0PiBkaXYge1xuXHRcdFx0XHRcdEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblx0XHR9XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0ge1xuXHRcdFx0Y29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdFx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0fVxuXG5cdFx0LmJhZGdlLmNhcnQge1xuXHRcdFx0Zm9udC13ZWlnaHQ6JGZvbnQtYm9sZDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwcHg7XG5cdFx0XHRyaWdodDogLTE1cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOmdldC1jb2xvcihzdWNjZXNzKTtcblx0XHRcdCZbZGF0YS1jYXJ0Q291bnQ9XCIwXCJdIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmJhZGdlLndpc2hsaXN0IHtcblx0XHRcdGZvbnQtd2VpZ2h0OiRmb250LWJvbGQ7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdFx0cmlnaHQ6IC0xNXB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiNEQzVFNUU7XG5cdFx0XHQmW2RhdGEtd2lzaGxpc3RDb3VudD1cIjBcIl0ge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG5cbiIsIi8vIFNlYXJjaFxuLy8gLS0tLS0tXG4uc2VhcmNoLWlucHV0IHtcblx0aGVpZ2h0OiAyNXB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGlucHV0IHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblx0aW5wdXRbdHlwZT1cInRleHRcIl0ge1xuXHRcdGhlaWdodDogMjVweDtcblx0XHRtYXgtd2lkdGg6IGluaXRpYWw7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHotaW5kZXg6IDM7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR0cmFuc2l0aW9uOiB3aWR0aCAuNHMgY3ViaWMtYmV6aWVyKDAuMDAwLCAwLjc5NSwgMC4wMDAsIDEuMDAwKTtcblx0XHR3aWR0aDogMHB4O1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXHRcdFx0bWF4LXdpZHRoOiBpbml0aWFsO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdGN1cnNvcjogdGV4dDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHRidXR0b24uYnV0dG9uIHtcblx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0d2lkdGg6IDI1cHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0ei1pbmRleDogMjtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMC44O1xuXHRcdH1cblx0XHRzcGFuIHtcblx0XHRcdHRvcDogMDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdH1cbn1cblxuLy8gc2VhcmNoLXN1Z2dlc3Rpb25zIG1vZHVsZVxuI3NlYXJjaC1pbnB1dC1yZXN1bHRzIHtcblx0Ly96LWluZGV4OiA5OTk5O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiBpbmhlcml0O1xuXHRtYXJnaW4tdG9wOiAxMXB4O1xuXHR3aWR0aDogMTAwJTtcblx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdC8vYm94LXNoYWRvdzogMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG5cdC8vYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdC8vYm9yZGVyLXRvcDogbm9uZTtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblx0XHRtYXJnaW4tbGVmdDogLTIwZW07XG5cdFx0d2lkdGg6IDIwZW07XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG5cdC5zZWFyY2hfY29udGFpbmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0Ym94LXNoYWRvdzogMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0fVxuXHR9XG5cdC5uby1wcm9kdWN0IHtcblx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0cGFkZGluZzogMC41ZW0gMWVtO1xuXHR9XG5cdC5zZWFyY2hfaXRlbSB7XG5cdFx0cGFkZGluZzogMC41ZW0gMWVtO1xuXHRcdC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXHRcdC5wcm9kdWN0LWltYWdlIHtcblx0XHRcdC8vbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdC5wcm9kdWN0LXRpdGxlIHtcblx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHR9XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdH1cblx0XHRwIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdH1cblx0XHQuaGVhZGluZyB7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR9XG5cdFx0LmRlc2NyaXB0aW9uLCAucHJpY2Uge1xuXHRcdFx0Y29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cdFx0XHRsaW5lLWhlaWdodDogMjFweDtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHAge1xuXHRcdFx0XHRcdGNvbG9yOiBnZXQtY29sb3IocGV0cm9sKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBTbWFsbC9Nb2JpbGUgdmVyc2lvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdC5uYXZpZ2F0aW9uLW1vYmlsZS1jb250YWluZXIge1xuXHRcdHBhZGRpbmctdG9wOiAkaGVpZ2h0LXRpdGxlLWJhci1oZWlnaHQ7XG5cdFx0cGFkZGluZy1ib3R0b206ICRoZWlnaHQtdGl0bGUtYmFyLWhlaWdodDtcblx0XHQudG9wLWJhciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0LnRvcC1iYXItbGVmdCB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0XHQudG9wLWJhci1yaWdodCB7XG5cdFx0XHRcdHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAkZ2xvYmFsLXBhZGRpbmcgJGdsb2JhbC1wYWRkaW5nIDAuMnJlbTtcblx0XHRcdH1cblx0XHR9XG5cdFx0PiBkaXYge1xuXHRcdFx0PiAuZ3JpZC1jb250YWluZXIge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQubWVudV9lbGVtZW50IHtcblx0XHRcdFx0Lm9mZi1jYW52YXMtbWVudS10YWIge1xuXHRcdFx0XHRcdEBpbmNsdWRlIHh5LWdyaWQ7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG5cdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZyAqIDAuNztcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmcgKiAwLjc7XG5cdFx0XHRcdFx0XHQmLnRpdGxlLXRleHQge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKHNocmluayk7XG5cdFx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQmLmNhcmV0IHtcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgeHktY2VsbChhdXRvKTtcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6IGljb21vb247XG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJ1xcZjA1Myc7XG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAxMXB4O1xuXHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnN1Yl9tZW51IHtcblx0XHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHRvdmVyZmxvdy15OiBoaWRkZW47XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBsaW5lYXI7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXHRcdFx0XHRcdC5kcm9wZG93bi1wYW5lIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRcdGxlZnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHR0b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0XHQuZ3JpZC14IHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LmxpbmtfbGlzdCB1bCBsaSBhIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogJGdsb2JhbC1wYWRkaW5nICogMC43O1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogJGdsb2JhbC1wYWRkaW5nICogMC43O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIEV4cGFuZGVkIHN1Ym1lbnVcblx0XHRcdFx0Ji5leHBhbmRlZCB7XG5cdFx0XHRcdFx0Lm9mZi1jYW52YXMtbWVudS10YWIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhcmtlc3QtZ3JheTtcblx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0XHRcdCYuY2FyZXQ6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LnN1Yl9tZW51IHtcblx0XHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC50b3Blc3QtbW9iaWxlIHtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHQuYWNjb3VudCB7XG5cdFx0XHRcdFx0LmJ1dHRvbi1ncm91cCB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMHB4O1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwcHg7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSB4eS1jZWxsKHNocmluayk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIEJ1dHRvbnMgbGlua3MgbGlzdHMgaW4gbGluZVxuXHRcdC5saW5rX2xpc3Qge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR1bCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG4gICNtZW51RWxlbWVudDUge1xuICAgICNzdWJtZW51NSB7XG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgICAgYS50aXRsZS10ZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAuIE1lZGl1bSBhbmQgTGFyZ2UvRGVza3RvcCB2ZXJzaW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG5cdC8vIEF2b2lkaW5nIGFjY29yZGlvbiBiZWhhdmlvdXJcblx0Ly8uYWNjb3JkaW9uLW1lbnUge1xuXHQvL1x0PiBsaSB7XG5cdC8vXHRcdD4gYSB7XG5cdC8vXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHQvL1x0XHR9XG5cdC8vXHRcdD4gdWwge1xuXHQvL1x0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdC8vXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHQvL1x0XHRcdHdpZHRoOiAxMDAlO1xuXHQvL1x0XHRcdD4gbGkge1xuXHQvL1x0XHRcdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0Ly9cdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcblx0Ly9cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHQvL1x0XHRcdH1cblx0Ly9cdFx0fVxuXHQvL1x0fVxuXHQvL31cblxuXHQubWFpbi1tZW51IHtcblx0XHRAaW5jbHVkZSBtZW51LWJhc2U7XG5cdFx0Lm1haW4tbWVudV9fbGluayB7XG5cdFx0XHRmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcblx0XHRcdGZvbnQtc2l6ZTogMS4xMjVyZW07XG5cdFx0XHRjb2xvcjogJGRhcmstZ3JheTtcblx0XHRcdHBhZGRpbmctdG9wOiAxLjJyZW07XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMS4ycmVtO1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblx0XHRcdH1cblx0XHRcdCYtLWFjdGl2ZSB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0fVxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblxuXHQubmF2aWdhdGlvbi1kZXNrdG9wLWNvbnRhaW5lciB7XG5cdFx0Ly8gT3ZlcnJpZGluZyBPZmZDYW52YXMgYmVoYXZpb3VyIGZvciBkZXNrdG9wXG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcblx0XHR0b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdFx0bGVmdDogdW5zZXQgIWltcG9ydGFudDtcblx0XHRvdmVyZmxvdy15OiB1bnNldCAhaW1wb3J0YW50O1xuXHRcdHRyYW5zZm9ybTogaW5pdGlhbCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbjogMCAhaW1wb3J0YW50O1xuXHRcdD4gZGl2IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcblx0XHRcdGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIC4wMyk7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcblx0XHRcdC50b3AtYmFyIHtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0LnRvcC1iYXItbGVmdCB7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHR1bCB7XG5cdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRcblx0XHRcdFx0Ly8gU0VBUkNIXG5cdFx0XHRcdC50b3AtYmFyLXJpZ2h0IHtcblx0XHRcdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDAuMXJlbTtcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMC4xcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5tZWdhLWRyb3Bkb3ducy1jb250YWluZXIge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0LmRyb3Bkb3duLXBhbmUge1xuXHRcdFx0XHRcdCRtYXJnaW4tYmV0d2Vlbi1tYWluLWVsZW1lbnRzOiAxMHB4O1xuXHRcdFx0XHRcdGxlZnQ6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgLjA1KTtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDAgMXJlbSAwO1xuXHRcdFx0XHRcdC5jZWxsIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JiA+ICoge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJG1hcmdpbi1iZXR3ZWVuLW1haW4tZWxlbWVudHM7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmJ1dHRvbi5ob2xsb3cge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRibGFjaztcblx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGJsYWNrO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdGEge1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXHRcdFx0XHRcdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdFx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogJGdyYXktNTAwOyBcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Lm1lZ2EtbWVudS1zdWJ0aXRsZSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg0ODQ4NDtcblx0XHR9XG5cdFx0Lm1lZ2EtbWVudS1zdWJ0aXRsZS1saW5rIHtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC40cmVtO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblx0XHQubWVnYS1tZW51LWxpbmstYWN0aXZlIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gLiBBbGwgdmVyc2lvbnNcbi8vIC0tLS0tLS0tLS0tLS0tXG4ubmF2aWdhdGlvbi1tb2JpbGUtY29udGFpbmVyIHtcblx0Ly8gTGFiZWwgYnV0dG9uc1xuXHQubGFiZWwge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuXHRcdGZvbnQtc2l6ZTogMC45cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XHRcblx0XHR9XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHNwYW4ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjJweDtcblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRmb250LWZhbWlseTogXCJpY29tb29uXCI7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMTAxXCI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTQwJTtcblx0XHRcdFx0bWFyZ2luOiAwIDJweCAwIDhweDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRociB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG4iLCIjdGl0bGUtYmFyLWNvbnRhaW5lciB7XG4gICAgLy9wb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgLy96LWluZGV4OiA5OTk5O1xuICAgIC50aXRsZS1iYXIge1xuICAgICAgICAvL3Bvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgLy96LWluZGV4OiAxMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgICAudGl0bGUtYmFyLWNlbnRlciB7XG4gICAgICAgICAgICAubG9nby1saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDBweCAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgICAgICAgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA3cHggMCAkYmxhY2ssIDAgMTRweCAwICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgICAgICAgIGJ1dHRvbixcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIC8vQGV4dGVuZCAubWVudS1pY29uO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhZGdlLmNhcnQge1xuICAgICAgICBmb250LXdlaWdodDokZm9udC1ib2xkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6Z2V0LWNvbG9yKHN1Y2Nlc3MpO1xuICAgICAgICAmW2RhdGEtY2FydENvdW50PVwiMFwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5iYWRnZS53aXNobGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0RDNUU1RTtcbiAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgJltkYXRhLXdpc2hsaXN0Q291bnQ9XCIwXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi50b3Blc3QtYmFyIHtcbiAgICAkZGVza3RvcC1tYXJnaW5zOiAycHg7XG4gICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHBldHJvbCk7XG4gICAgZm9udC1zaXplOiA5MCU7XG4gICAgLnRvcGVzdC1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogJGRlc2t0b3AtbWFyZ2lucztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGRlc2t0b3AtbWFyZ2lucztcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudG9wZXN0LWNlbnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRkZXNrdG9wLW1hcmdpbnM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkZXNrdG9wLW1hcmdpbnM7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRvcGVzdC1yaWdodCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRkZXNrdG9wLW1hcmdpbnM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkZXNrdG9wLW1hcmdpbnM7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIC5hY2NvdW50IHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImZvb3RlcntcclxuICAgIGE6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG4jZm9vdGVyX3ByaW1hcnkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXN0LWdyYXk7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgICBwYWRkaW5nLXRvcDogNjVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xyXG4gICAgbWFyZ2luLXRvcDogNjVweDtcclxuXHJcbiAgICBwLmhlYWRsaW5lIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LnZlcnRpY2FsIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZV9ncm91cGUge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jZm9vdGVyX3NlY29uZGFyeSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkUzNjQyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6IDMycHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDtcclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAuYm90dG9tX2xpbmVfbGlua3Nfc2VwYXJhdGlvbiB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIH1cclxuICAgIC5mb290ZXItbGluZS1kYXRlIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZ1bm5lbCBwYWdlcyBzcGVjaWZpY2F0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5LmZ1bm5lbC1ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlc3QtZ3JheTtcbiAgICBoMiB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtY29sb3IocGV0cm9sKTtcbiAgICAgICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRpdGxlLWJhciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIC4wMyk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICNoZWFkZXItZGVza3RvcCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIC4wMyk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICB9XG4gICAgLmJvdHRvbS1saW5lLWxpbmtzIHtcbiAgICAgICAgLmxpbmUtbGVnYWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRnVubmVsIGFuZCBhY2NvdW50IGZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vLmZ1bm5lbC1ib2R5IHtcbi8vICAgIC8vaW5wdXQsIHNlbGVjdCB7XG4vLyAgICAvLyAgICAvL2JhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbi8vICAgIC8vICAgIC8vYm9yZGVyLXRvcDogbm9uZTtcbi8vICAgIC8vICAgIC8vYm9yZGVyLXJpZ2h0OiBub25lO1xuLy8gICAgLy8gICAgLy9ib3JkZXItbGVmdDogbm9uZTtcbi8vICAgIC8vICAgIC8vYm94LXNoYWRvdzogbm9uZTtcbi8vICAgIC8vICAgIC8vYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1lZGl1bS1ncmF5O1xuLy8gICAgLy8gICAgLy9ib3JkZXItcmFkaXVzOiAwO1xuLy8gICAgLy9cbi8vICAgIC8vICAgIC8vJiArIGxhYmVsIHtcbi8vICAgIC8vICAgIC8vICAgIGJhY2tncm91bmQ6ICNmMDZkMDY7XG4vLyAgICAvLyAgICAvLyAgICBjb2xvcjogd2hpdGU7XG4vLyAgICAvLyAgICAvLyAgICBmb250LXNpemU6IDcwJTtcbi8vICAgIC8vICAgIC8vICAgIHBhZGRpbmc6IDFweCA2cHg7XG4vLyAgICAvLyAgICAvLyAgICB6LWluZGV4OiAyO1xuLy8gICAgLy8gICAgLy8gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbi8vICAgIC8vICAgIC8vfVxuLy8gICAgLy99XG4vL1xuLy9cbi8vfVxuIiwiLnNwYWNlci0xNSB7XG4gIGhlaWdodDoxNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNwYWNlci0zMCB7XG4gIGhlaWdodDozMHB4O1xuICBkaXNwbGF5OiBibG9ja1xufVxuXG4uc3BhY2VyLTQ1IHtcbiAgaGVpZ2h0OjQ1cHg7XG4gIGRpc3BsYXk6IGJsb2NrXG59XG5cbiIsIi5sb2dpbi1jb250YWluZXIge1xuXHQvLyBoMjpiZWZvcmUge1xuXHQvLyBcdG1hcmdpbjogYXV0bztcblx0Ly8gfVxuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufSIsIi5wcm9kdWN0cy1saXN0IHtcblx0QGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIpO1xuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbihsZWZ0KTtcblx0fVxufVxuXG4ucHJvZHVjdC1jYXJkIHtcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0cGFkZGluZzogMCAzMHB4O1xuXHRAaW5jbHVkZSB4eS1jZWxsKCk7XHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0XHRAaW5jbHVkZSB4eS1jZWxsKDYpO1x0XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdEBpbmNsdWRlIHh5LWNlbGwoNCk7XHRcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcblx0XHRAaW5jbHVkZSB4eS1jZWxsKDMpO1x0XG5cdH1cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0LnByb2R1Y3QtY2FyZF9faW1hZ2Uge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHR9XG5cdFx0LnByb2R1Y3QtY2FyZF9fd2lzaGxpc3QtYnRuIHtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxufVxuXG4ucHJvZHVjdC1jYXJkX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdC5wcm9kdWN0LWNhcmRfX2ltYWdlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdFx0fVxuXHR9XG59XG5cbi5wcm9kdWN0LWNhcmRfX2ltYWdlLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRoZWlnaHQ6IDIwMHB4O1xufVxuXG4ucHJvZHVjdC1jYXJkX19pbWFnZSB7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGVhc2UtaW47XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLnByb2R1Y3QtY2FyZF9fZGV0YWlscyB7XG5cdGZvbnQtc2l6ZTogMS4xMjVyZW07XG5cdGNvbG9yOiAkZGFyay1ncmF5O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cdFx0bWFyZ2luLXRvcDogNXB4O1xuXHR9XG59XG5cblxuLnByb2R1Y3QtY2FyZF9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcblx0bWFyZ2luOiAwO1xuXHQvKiBUT0RPOiBSZW1vdmUgb25jZSBtb2RlbCBuYW1lIGFuZCBjb2xvciBhcmUgc2VwYXJhdGVkICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvZHVjdC1jYXJkX19zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLnByb2R1Y3QtY2FyZF9fcHJpY2Uge1xuXHRtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLnByb2R1Y3QtY2FyZF9fY29sb3JzIHtcblx0bWFyZ2luLXRvcDogMTVweDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHQvKiBBZGQgdG8gd2lzaGxpc3QgYnV0dG9uIGlzIGFsd2F5cyBzaG93biBvbiBtb2JpbGUgIFxuXHQgICBidXQgb24gbGFyZ2VyIHNjcmVlbnMsIGl0J3MgZGlzcGxheWVkIG9uIGhvdmVyIG9ubHlcblx0Ki9cblx0LnByb2R1Y3QtY2FyZF9fd2lzaGxpc3QtYnRuIHtcblx0XHRAaW5jbHVkZSBmYWRlLWluLXVwLWluaXRpYWw7XG5cdH1cdFxuXHQucHJvZHVjdC1jYXJkIHtcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LnByb2R1Y3QtY2FyZF9fd2lzaGxpc3QtYnRuIHtcblx0XHRcdFx0QGluY2x1ZGUgZmFkZS1pbi11cDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4ucHJvZHVjdC1jYXJkX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdG1hcmdpbi10b3A6IDNweDtcbn1cblxuXG4ucHJvZHVjdC1jYXJkX19zaXplcyB7XG5cdC5zaXplLXRleHQsXG5cdC5zaXplLXZhbHVlIHtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Y29sb3I6ICRtZWRpdW0tZ3JheTtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0fVxuXHR9XG59XG5cbi8vICAucHJvZHVjdC1jYXJkX190cnlvblxuLmNhcmQtdHJ5LW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdC50cnktaXQtb24ge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcblx0XHRwYWRkaW5nOiAzcHg7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMmMwXCI7XG5cdFx0XHRmb250LWZhbWlseTogJ2ljb21vb24nO1xuXHRcdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHRwYWRkaW5nOiAzcHg7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuXHR9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0LmNhcmQtc2l6ZSB7XG5cdFx0LnNpemUtdGV4dCwgLnNpemUtdmFsdWUge1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdH1cblx0fVxuXHQuY2FyZC10cnktb24ge1xuXHRcdGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcblx0XHRAaW5jbHVkZSBmYWRlLWluLXVwLWluaXRpYWw7XG5cdFx0LnRyeS1pdC1vbiB7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAwcHg7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0fVxuXHR9XG5cdC5wcm9kdWN0LWNhcmQge1xuXHRcdCY6aG92ZXIsIFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LmNhcmQtdHJ5LW9uIHtcblx0XHRcdFx0QGluY2x1ZGUgZmFkZS1pbi11cDtcblx0XHRcdH1cblx0XHR9XHRcdFx0XG5cdH1cbn0iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4vZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL1wiICFkZWZhdWx0O1xuJHNsaWNrLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBTbGlkZXIgKi9cblxuLnNsaWNrLWxpc3Qge1xuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHNsaWNrLWltYWdlLXVybChcImFqYXgtbG9hZGVyLmdpZlwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB9XG59XG5cbi8qIEljb25zICovXG5AaWYgJHNsaWNrLWZvbnQtZmFtaWx5ID09IFwic2xpY2tcIiB7XG4gICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2Nzcyc7XG5AaW1wb3J0ICdub2RlX21vZHVsZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2stdGhlbWUuc2Nzcyc7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcm91c2VsIEludHJvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jYXJvdXNlbCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ2Fyb3VzZWwgUHJvZHVjdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2xpY2stY2Fyb3VzZWwge1xuXHQuc2xpY2stcHJldiwgLnNsaWNrLW5leHQge1xuXHRcdC8vdG9wOiAyNSU7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Zm9udC1mYW1pbHk6IGljb21vb247XG5cdFx0XHRjb250ZW50OidcXGYwNTMnO1xuXHRcdFx0Y29sb3I6ICRsaWdodC1ncmF5O1xuXHRcdH1cblx0fVxuXHQuc2xpY2stcHJldiB7XG5cdFx0bGVmdDogNXB4O1xuXHRcdHotaW5kZXg6IDk5OTtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OidcXGYwNTMnO1xuXHRcdH1cblx0fVxuXHQuc2xpY2stbmV4dCB7XG5cdFx0cmlnaHQ6IDVweDtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OidcXGYwNTQnO1xuXHRcdH1cblx0fVxuXHQuc2xpY2stZG90cyB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdC5wcm9kdWN0LWNhcm91c2VsIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cGFkZGluZy1yaWdodDogMzBweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdFx0LnRodW1ibmFpbCB7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0cGFkZGluZzogMTBweDtcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuYmFkZ2Uge1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRtaW4td2lkdGg6IGluaXRpYWw7XG5cdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcblx0XHR9XG5cdFx0LnRpdGxlLXByb2R1Y3Qge1xuXHRcdFx0bGluZS1oZWlnaHQ6IGluaXRpYWw7XG5cdFx0XHRmb250LXNpemU6IGluaXRpYWw7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBpbml0aWFsO1xuXHRcdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGEge1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMXB4O1xuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5wcmljZS1wcm9kdWN0IHtcblx0XHRcdGZvbnQtc3R5bGU6IHJlZ3VsYXI7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjFweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcm91c2VsIEJSQU5EU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2xpY2stY2Fyb3VzZWwtYnJhbmRzIHtcblx0LnNsaWNrLXRyYWNrIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cdC5zbGljay1zbGlkZSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGJsYWNrO1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiBnZXQtY29sb3IocGV0cm9sKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIExhbmd1YWdlIFNlbGVjdG9yXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIERlc2t0b3Bcbi5sYW5ndWFnZS1zZWxlY3RvciB7XG4gIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICA+IGEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlci1jb2xvcjogJGxpZ2h0ZXItZ3JheTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDZweDtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwLjJyZW0gMC4yMjVyZW0gMC40cmVtIDAuM3JlbTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTW9iaWxlXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgLmxhbmd1YWdlLXNlbGVjdG9yIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYSB7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICB9XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgLy9ib3JkZXItY29sb3I6ICRsaWdodGVyLWdyYXk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgIGZsb2F0OiBpbml0aWFsO1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAvL2Ege1xuICAgICAgLy8gIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgLy99XG4gICAgfVxuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgREVTQ1JJUFRJT04gQk9UVE9NXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kZXNjcmlwdGlvbi1ib3R0b20tY29udGVudCB7XG5cdGxldHRlci1zcGFjaW5nOiAycHg7XG5cdC5kZXNjcmlwdGlvbi1ib3R0b20ge1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvKiBGYWxsYmFjayBmb3Igbm9uLXdlYmtpdCAqL1xuXHRcdGhlaWdodDogJGZvbnQtc2l6ZS1zbWFsbCokbGluZS1oZWlnaHQtYm90dG9tLXNtYWxsKiRsaW5lcy10by1zaG93LXNtYWxsOyAvKiBGYWxsYmFjayBmb3Igbm9uLXdlYmtpdCAqL1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJvdHRvbS1zbWFsbDtcblx0XHQtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lcy10by1zaG93LXNtYWxsO1xuXHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7IC8qIEZhbGxiYWNrIGZvciBub24td2Via2l0ICovXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTEzJTtcblx0XHR9XG5cdH1cblx0LmJ0bi1pbmZvIHtcblx0XHRjb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0dmVydGljYWwtYWxpZ246IGluaXRpYWw7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDE2cHg7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0c3Bhbi5tb3JlLWluZm8ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHR9XG5cdFx0c3Bhbi5sZXNzLWluZm8ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLy8gVG9nZ2xlIEJ1dHRvblxuXG4uZGVzY3JpcHRpb24tYm90dG9tLWNvbnRlbnQuZGVzY3JpcHRpb24tYm90dG9tLXRvZ2dsZXIge1xuXHQuZGVzY3JpcHRpb24tYm90dG9tIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cblx0LmJ0bi1pbmZvIHtcblx0XHRzcGFuLm1vcmUtaW5mbyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0fVxuXHRcdHNwYW4ubGVzcy1pbmZvIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxufVxuXG5cblxuXG4iLCIvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDYXRlZ29yeSBmaWx0ZXIgLyBsYXllcmVkIG5hdmlnYXRpb25cbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRklMVEVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIC0tLSBNT0JJTEUgRklSU1QgLS0tXG5cbiNmaWx0ZXItbmF2LWNvbnRhaW5lciB7XG5cblxuXG5cblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzhDOEM4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4O1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdFx0dG9wOiAwcHg7XG5cdH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdC5zbWFsbC1maXhlZC10b3Age1xuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0dG9wOiA1MHB4O1xuXHRcdFx0bGVmdDogMHB4O1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0fVxuXHRcdC8vIEZJTFRFUiBCQU5EIChPbmx5IG1vYmlsZSlcblxuXHQgICAgLm1vYmlsZS1maWx0ZXItYmFuZC1jb250YWluZXIge1xuXHRcdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdCAgICBcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC1yZWd1bGFyO1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkZGFyay1ncmF5O1xuXHRcdCAgICBcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm92ZXJsYXkge1xuXHRcdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuXHRcdCAgICBoZWlnaHQ6IDEwMCU7XG5cdFx0ICAgIHdpZHRoOiAxMDAlO1xuXHRcdCAgICB0b3A6IDA7XG5cdFx0ICAgIGxlZnQ6IDA7XG5cdFx0ICAgIHBvc2l0aW9uOiBmaXhlZDtcblx0XHQgICAgZGlzcGxheTogbm9uZTtcblx0XHQgICAgJi5zaG93LW1vYmlsZSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG4gICAgXHRcdCNmaWx0ZXItbWVudSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdFx0d2lkdGg6IDkwJTtcblx0XHRcdFx0aGVpZ2h0OiA4NSU7XG5cdFx0XHRcdHRvcDogOC41JTtcblx0XHRcdFx0bGVmdDogNSU7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHQmLnNob3ctbW9iaWxlIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdG92ZXJmbG93OiBzY3JvbGw7XG5cdFx0XHRcdH1cblx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5maWx0ZXItdGl0bGUtbW9iaWxlIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4IDIwcHggMHB4IDIwcHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDg1MDtcblx0XHRcdFx0XHQuZmlsdGVyLWNsZWFyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkZGFyay1ncmF5O1xuXHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Lm1lbnUuZXhwYW5kZWQge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDBweCAyMHB4IDIwcHggMjBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIEJVVFRPTlxuXG5cdFx0XHRcdC5zaG93LXJlc3VsdHMge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdC5ib3gge1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuYnV0dG9uLnN1Y2Nlc3Mge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIDAgMCAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIEZJTFRFUlxuXG4gICAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIFx0ZmxleDogMSAxIGF1dG87XG4gICAgXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcblxuXHQgICAgLm9wdGlvbi1uYW1lIHtcblx0ICAgIFx0QGV4dGVuZCAubWVudS1mb250O1xuXHQgICAgXHRmb250LXNpemU6IDE0cHg7XG5cdCAgICBcdCY6YWZ0ZXIge1xuXHRcdFx0XHRmb250LWZhbWlseTogaWNvbW9vbjtcblx0XHRcdFx0Y29udGVudDogJ1xcZjEwNyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogaW5pdGlhbDtcblx0XHRcdFx0d2lkdGg6IDEwcHg7XG5cdFx0XHRcdGhlaWdodDogMTBweDtcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdFx0XHRcdHRvcDogMzAlO1xuXHRcdFx0XHR9XG5cdCAgICBcdH1cblx0ICAgIFx0Jjpob3ZlciB7XG5cdCAgICBcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXJlZ3VsYXI7XG5cdCAgICBcdH1cblx0ICAgIH1cblxuXHRcdC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdH1cblxuXHQgICAgLy8gRklMVEVSIE9QVElPTlxuXG5cdCAgICAub3B0aW9uLWxpc3Qge1xuXHQgICAgXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0bWFyZ2luLXRvcDogbm9uZTtcblx0XHRcdG1hcmdpbi10b3A6IGluaXRpYWw7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDIwcHggMTZweDtcblxuXHRcdFx0Ly8gT1BUSU9OIENMQVNTSUNcblxuXHRcdFx0Lm9wdGlvbiB7XG5cdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0YTpub3QoLmJ1dHRvbi1saW5lKSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDBweDtcblx0XHRcdFx0XHRtYXJnaW46IDBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIGljb24gY2hlY2sgb3B0aW9uXG5cblx0XHRcdFx0LmNoZWNrOmJlZm9yZSB7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6IGljb21vb247XG5cdFx0XHRcdFx0Y29udGVudDogXCJcXGYwOTZcIjtcdC8vIGNoZWNrIHZpZGVcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDhweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmLnNlbGVjdGVkIC5jaGVjazpiZWZvcmUge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXFxmMDQ2XCI7XHQvLyBjaGVjayBzZWxlY3RlZFxuXHRcdFx0XHRcdGNvbG9yOiBnZXQtY29sb3IocGV0cm9sKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBPUFRJT04gU1BFQ0lBTFxuXG5cdFx0ICAgIC5wcmVzY3JpcHRpb24ge1xuXHRcdCAgICBcdGRpc3BsYXk6IG5vbmU7XG5cdFx0ICAgIFx0Ly8gbm8gZGVsZXRlICEhXG5cdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDZweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwcHg7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMThweDtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodGVyLWdyYXk7XG5cdFx0ICAgIH1cblx0XHRcdCYuc2l6ZSB7XG5cdFx0XHRcdHdpZHRoOiBpbml0aWFsO1xuXHRcdFx0fVxuXHRcdCAgICAuZGltZW5zaW9uIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRcdFx0cGFkZGluZy10b3A6IDE4cHg7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cblx0XHRcdFx0Ly8gT1BUSU9OIFNMSURFUlxuXG5cdFx0ICAgIFx0LnNsaWRlci1jb250YWluZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAjNjc2NzY3O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdC5pY29uLXNpemUtd2lkdGg6YmVmb3JlIHtcblx0XHRcdCAgICBcdFx0Zm9udC1mYW1pbHk6IGljb21vb247XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnXFxlOTA2Jztcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0ICAgIFx0fVxuXHRcdFx0XHRcdC5zbGlkZXIge1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAwLjE1cmVtO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMC43cmVtO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMi43cmVtO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG5cdFx0XHRcdFx0XHQuc2xpZGVyLWhhbmRsZSB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAwLjhyZW07XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMC44cmVtO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuXHRcdFx0XHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQuc2xpZGVyLWZpbGwge1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDAuMTVyZW07XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC52YWx1ZS1iYXIge1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMTZweDtcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRpbnB1dCB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBpbml0aWFsO1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogaW5pdGlhbDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzY3Njc2Nztcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDI1JTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHQgICAgXHR9XG5cdFx0ICAgIH1cblx0ICAgIFx0Ji5jb2xvciB7XG5cdCAgICBcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdCAgICBcdFx0XHRwYWRkaW5nOiAwO1xuXHQgICAgXHRcdH1cblx0XHRcdFx0Lm9wdGlvbiB7XG5cdFx0XHRcdFx0d2lkdGg6IGluaXRpYWw7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHRcdFx0XHQuY29sb3ItY2lyY2xlIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMnB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2ZmZjtcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0XHRcdFx0XHR3aWR0aDogMzlweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMzlweDtcblx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDMzcHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMzNweDtcblx0XHRcdFx0XHRcdFx0Ji53aGl0ZSB7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Ji5zZWxlY3RlZCB7XG5cdFx0XHQgICAgXHRcdC5jb2xvci1jaXJjbGUge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LmNvbG9yLW5hbWUge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogZ2V0LWNvbG9yKHBldHJvbCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGE6OmFmdGVyIHtcblx0dG9wOiAzMCU7XG4gICAgcmlnaHQ6IDUlO1xufVxuXG4vLyAtLS0gTUVESVVNIC0tLVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHQjZmlsdGVyLW5hdi1jb250YWluZXIge1xuXHRcdHBhZGRpbmc6IDAuNHJlbSAwO1xuXG5cdFx0Ly8gRklMVEVSXG5cblx0ICAgIC5tZW51LmV4cGFuZGVkIGxpIHtcblx0ICAgIFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblxuXHQgICAgXHQub3B0aW9uLW5hbWUge1xuXHQgICAgXHRcdHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cdCAgICBcdH1cblxuXHRcdCAgICAvLyBGSUxURVIgT1BUSU9OXG5cblx0XHQgICAgLm9wdGlvbi1saXN0IHtcblx0XHQgICAgXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdCAgICBcdGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG5cdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDAuNHJlbTtcblx0XHRcdFx0cGFkZGluZzogMTVweDtcblx0XHRcdFx0bWluLXdpZHRoOiAxODBweDtcblxuXHRcdFx0XHQvLyBPUFRJT04gQ0xBU1NJQ1xuXG5cdFx0XHRcdC5vcHRpb24ge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gT1BUSU9OIFNQRUNJQUxcblxuXHRcdFx0XHQuZGltZW5zaW9uIHtcblx0XHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcblxuXHRcdFx0XHRcdC8vIE9QVElPTiBTTElERVJcblxuXHRcdFx0ICAgIFx0LnNsaWRlci1jb250YWluZXIge1xuXHRcdFx0XHRcdFx0LnNsaWRlciB7XG5cdFx0XHRcdFx0XHRcdC52YWx1ZS1iYXIge1xuXHRcdFx0XHRcdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5jb2xvciB7XG5cdFx0XHRcdFx0Lm9wdGlvbiB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHQuY29sb3ItY2lyY2xlIHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMjNweDtcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAyM3B4O1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogd2hpdGU7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTdweDtcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE3cHg7XG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAycHg7XG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogMnB4O1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5jb2xvci1uYW1lIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0ICAgIH1cblx0ICAgIH1cblx0fVxufVxuXG4vLyAtLS0gREVTS1RPUCAtLS1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuXHQjZmlsdGVyLW5hdi1jb250YWluZXIge1xuXHRcdHRvcDogMDtcblxuXHRcdC8vIEZJTFRFUlxuXG4gICAgXHQubWVudS5leHBhbmRlZCBsaSB7XG4gICAgXHRcdGJvcmRlcjogbm9uZTtcbiAgICBcdFx0Lm9wdGlvbi1uYW1lIHtcblx0ICAgIFx0XHRmb250LXNpemU6IDE2cHg7XG5cdCAgICBcdFx0cGFkZGluZy1yaWdodDogMS41cmVtO1xuXHQgICAgXHRcdCY6YWZ0ZXIge1xuXHRcdCAgICBcdFx0cG9zaXRpb246IGluaXRpYWw7XG5cdFx0ICAgIFx0XHRtYXJnaW4tbGVmdDogMTBweDtcblx0XHQgICAgXHR9XG5cdCAgICBcdH1cblxuXHRcdFx0Ly8gRklMVEVSIE9QVElPTlxuXG5cdFx0XHQub3B0aW9uLWxpc3Qge1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDIwcHggMTZweDtcblx0XHRcdFx0bWluLXdpZHRoOiAyMDBweDtcblxuXHRcdFx0XHQvLyBPUFRJT04gU1BFQ0lBTFxuXG5cdFx0XHRcdC5kaW1lbnNpb24ge1xuXG5cdFx0XHRcdFx0Ly8gT1BUSU9OIFNMSURFUlxuXG5cdFx0XHQgICAgXHQuc2xpZGVyLWNvbnRhaW5lciB7XG5cdFx0XHRcdFx0XHQuc2xpZGVyIHtcblx0XHRcdFx0XHRcdFx0LnZhbHVlLWJhciB7XG5cdFx0XHRcdFx0XHRcdFx0aW5wdXQge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogaW5pdGlhbDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5zaXplIHtcblx0XHRcdFx0XHR3aWR0aDogMjI1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5jb2xvciB7XG5cdFx0XHRcdFx0Lm9wdGlvbiB7XG5cdFx0XHRcdFx0XHQvLyAuY29sb3ItY2lyY2xlIHtcblx0XHRcdFx0XHRcdC8vIFx0d2lkdGg6IDIzLjVweDtcblx0XHRcdFx0XHRcdC8vIFx0aGVpZ2h0OiAyMy41cHg7XG5cdFx0XHRcdFx0XHQvLyBcdHNwYW4ge1xuXHRcdFx0XHRcdFx0Ly8gXHRcdHdpZHRoOiAxNi41cHg7XG5cdFx0XHRcdFx0XHQvLyBcdFx0aGVpZ2h0OiAxNi41cHg7XG5cdFx0XHRcdFx0XHQvLyBcdH1cblx0XHRcdFx0XHRcdC8vIH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cbiAgICBcdH1cblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTT1JUIEJZXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIC0tLSBNT0JJTEUgRklSU1QgLS0tXG5cbiNzb3J0LWJ5LWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6IDI1cHg7XG5cdC5xdWFudGl0eSB7XG5cdFx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRcdC5maWx0ZXItcXVhbnRpdHkge1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IGluaXRpYWw7XG5cdFx0fVxuXHR9XG5cdC5zb3J0LWJ5IHtcblx0XHRsYWJlbCB7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRsaW5lLWhlaWdodDogaW5pdGlhbDtcblx0XHR9XG5cdFx0c2VsZWN0IHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHR9XG5cdH1cbn1cblxuLy8gLS0tIERFU0tUT1AgLS0tXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcblx0I3NvcnQtYnktY29udGFpbmVyIHtcblx0XHQucXVhbnRpdHkge1xuXHRcdFx0LmZpbHRlci1xdWFudGl0eSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnNvcnQtYnkge1xuXHRcdFx0bGFiZWwge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0fVxuXHRcdFx0c2VsZWN0IHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cblxuIiwiLnVzcC1iYW5kIHtcclxuICBiYWNrZ3JvdW5kOiBnZXQtY29sb3IocGV0cm9sKTtcclxuICBwYWRkaW5nLXRvcDogNjVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNjVweDtcclxuXHJcbiAgW2NsYXNzXj1cImljb24tXCJde1xyXG4gICAgICBjb2xvcjogZ2V0LWNvbG9yKHBldHJvbCk7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBpY29tb29uO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICAgIGhlaWdodDogOTBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA5MHB4O1xyXG4gICAgICBmb250LXNpemU6IDQ1cHg7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgLy8mOmJlZm9yZSB7XHJcbiAgICAvLyAgICBjb2xvcjogZ2V0LWNvbG9yKHBldHJvbCk7XHJcbiAgICAvLyAgICBmb250LWZhbWlseTogaWNvbW9vbjtcclxuICAgIC8vICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLy8gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC8vICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgLy8gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgLy8gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAvLyAgICBsaW5lLWhlaWdodDogOTBweDtcclxuICAgIC8vICAgIGZvbnQtc2l6ZTogNDVweDtcclxuICAgIC8vICAgIG1hcmdpbjogYXV0bztcclxuICAgIC8vICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAvL31cclxuICAgIC8vJi5tb25leTpiZWZvcmUge1xyXG4gICAgLy8gICAgY29udGVudDogXCJcXGYwZDZcIjtcclxuICAgIC8vfVxyXG4gICAgLy8mLnRodW1icy11cDpiZWZvcmUge1xyXG4gICAgLy8gICAgY29udGVudDogXCJcXGYwODdcIjtcclxuICAgIC8vfVxyXG4gICAgLy8mLnVubG9jazpiZWZvcmUge1xyXG4gICAgLy8gICAgY29udGVudDogXCJcXGYwOWNcIjtcclxuICAgIC8vfVxyXG4gICAgLy8mLnRydWNrOmJlZm9yZSB7XHJcbiAgICAvLyAgICBjb250ZW50OiBcIlxcZjBkMVwiO1xyXG4gICAgLy99XHJcbiAgfVxyXG4gIHAge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG59XHJcbiIsIi5qc2Utd2lzaExpc3RBY3Rpb25CdXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcih0ZXJ0aWFyeSk7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cbiAgICAmLmpzcy1hZGQtdG8td2lzaGxpc3Qge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjA4YVwiO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuanNzLXJlbW92ZS1mcm9tLXdpc2hsaXN0IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpY29tb29uO1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHRlcnRpYXJ5KTtcbiAgICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgICAvL2ZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgICBjb2xvcjogZ2V0LWNvbG9yKHRlcnRpYXJ5KTtcbn1cblxuLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV2hpc2hsaXN0IFBhZ2Vcbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hY2NvcmRpb24taXRlbSB7XG4gICAgLnByb2R1Y3QtcmVtb3ZlLnByb2R1Y3QtdGl0bGUtYWNjb3JkaW9uIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDE0XCI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4ud2lzaGxpc3QtaXRlbS1jb250YWluZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBhZGRpbmc6IDByZW07XG4gICAgLnByb2R1Y3QtbmFtZSBhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0LXJlbW92ZSBhe1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYwMTRcIjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJvZHVjdC1uYW1lLCAucHJvZHVjdC1yZW1vdmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIC53aXNobGlzdC1pdGVtIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIC5saW5lLTEge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOEM4Qzg7XG4gICAgICAgICAgICAudGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wcm9wZXJ0aWVzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDOEM4Qzg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgLnByb3BlcnRpZXMtdGl0bGUsIC5wcm9wZXJ0aWVzLXZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAucHJvcGVydGllcy10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5wcm9wZXJ0aWVzLXZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy9AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAvLyAgICAucHJvcGVydGllcy10aXRsZSwgLnByb3BlcnRpZXMtdmFsdWUge1xuICAgICAgICAgICAgICAgIC8vICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgLy8gICAgfVxuICAgICAgICAgICAgICAgIC8vICAgIC5wcm9wZXJ0aWVzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgICAgICBjb250ZW50OiAnIDogJztcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vICAgIH1cbiAgICAgICAgICAgICAgICAvL31cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGluZS0yIHtcbiAgICAgICAgICAgIC8qYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsYWNrOyovXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgICAgICAgLnByb2R1Y3QtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndpc2hsaXN0LWFjY29yZGlvbi1pdGVtIHtcbiAgICAmLmlzLWFjdGl2ZT5he2JhY2tncm91bmQ6ICNFQUVBRUE7fVxuICAgID5he1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kOiNGRkZGRkY7XG4gICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3Vze1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0VBRUFFQTtcbiAgICAgICAgfVxuICAgIH1cbiAgICA+LmFjY29yZGlvbi10aXRsZXtcbiAgICAgICAgJjo6YmVmb3JlLCY6OmFmdGVye2Rpc3BsYXk6IG5vbmU7fVxuICAgIH1cbiAgICBhPnNwYW57dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMnJlbTtcbiAgICAubWVudS1yaWdodC13aXNobGlzdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgYXtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiLnByb2R1Y3QtY29uZmlndXJhdGlvbiB7XG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAvLy5wcmljZSB7XG4gICAgICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgLy9yaWdodDogMDtcbiAgICAgICAgICAgIC8vfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByZXNjcmlwdGlvbi1maWxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIiNSaWdodENvbHVtbiB7XG4gICAgI21hZ2VsbGFuTWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKFwidmVydGljYWxcIik7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICAmLmRvY3MtbmF2LXRpdGxlIHtcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuICAgICAgICAgICAgICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAvL2ZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5saW5rLWxldmVsMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAvL2NvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlci1ncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA5LiBOYWtlZCBhY2NvcmRpb24gKGV4dGVuZHMgb3JpZ2luYWwgRm91bmRhdGlvbiBhY2NvcmRpb24pXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hY2NvcmRpb24ubmFrZWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgLmFjY29yZGlvbi1pdGVtIHtcblxuICAgICAgICAvL2Rpc3BsYXk6ICBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgYS5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgICAgICAgIC8vbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcZjEwNyc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIC4ycztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyLCBoMywgaDQsIGg1IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgLy9wYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlID4gYS5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgICB0b3A6IDMwJTtcbiAgICAgICAgcmlnaHQ6IDUlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIC8vIE5vIHBhZGRpbmcgZm9yIGNvbnRlbnRzXG4gICAgJi5uby1wYWRkaW5nID4gLmFjY29yZGlvbi1pdGVtID4gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmluZyB0aGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgd2hvbGUgVUxcbiAgICAmLm5vLWJvdHRvbS1tYXJnaW4ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG59XG4iLCIvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIFNDSEVNQSBHTEFTU0VTXHJcbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbi5zY2hlbWEtZ2xhc3Nlc3tcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY0RjQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcclxuICAgIGltZyB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMTFweDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMjBweDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG4gICAgfVxyXG4gICAgLnNjaGVtYS10b3RhbCwgLnNjaGVtYS10ZW1wbGUsIC5zY2hlbWEtYnJpZGdlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcclxuICAgIH1cclxuICAgIC5zY2hlbWEtdG90YWwge1xyXG4gICAgICAgIHNwYW57XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYnVuZGxlcy9hcHAvZ2xhc3NlczI0L2Fzc2V0cy9pbWcvc2NoZW1hLWdsYXNzZXMvc2NoZW1hLWFycm93LnN2Zyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2NoZW1hLXRlbXBsZSB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYnVuZGxlcy9hcHAvZ2xhc3NlczI0L2Fzc2V0cy9pbWcvc2NoZW1hLWdsYXNzZXMvc2NoZW1hLWFycm93LnN2Zyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2NoZW1hLWxlbnNlcyB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIC5zY2hlbWEtbGVuc2VzLXZhbHVlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIC5sZW5zLWRlcHRoIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGVucy13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLnJldmVhbCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgJi5mdWxsIHtcbiAgICAgICAgLy8gU3RpY2t5IGNsb3NlIGNyb3NzIG9uIGZ1bGwgcmV2ZWFsXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogMjRweCAzNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHBldHJvbCk7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gU0laRSBDSEFSVFxyXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4jdmlld1NpemVDaGFydE1vZGFsIHtcclxuICAgIHdpZHRoOiA5NjhweDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmctbGVmdDogOTNweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDkzcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA5M3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDkzcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xyXG4gICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2JTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2JTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNiU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNiU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkbGluZXtcclxuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgfVxyXG4vLyBPVVIgRlJBTUUgU0laRVNcclxuICAgIC50ZXh0LW91ci1mcmFtZS1zaXplIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIC5pbWctb3VyLXNpemUtY2hhcnQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4vLyBNWSBGUkFNRSBTSVpFXHJcbiAgICAudGV4dC1teS1mcmFtZS1zaXplIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjJweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNjVweDtcclxuICAgIH1cclxuICAgIC5pbWctbXktc2l6ZS1jaGFydCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGV4dC1zaXplLWNoYXJ0LXdpZHRoIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnRleHQtc2l6ZS1jaGFydC1oZWlnaHQge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4vLyBJTlBVVFxyXG4gICAgLmlucHV0LW15LWZyYW1lLXdpZHRoIHtcclxuICAgICAgICB3aWR0aDogNDUlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGxhYmVse1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjayAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnB1dC1teS1sZW5zLWhlaWdodCB7XHJcbiAgICAgICAgd2lkdGg6IDQ1JTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBsYWJlbHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVzdWx0LW15LXNpemUtY2hhcnQge1xyXG4gICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBBRERSRVNTIEJPT0tcclxuLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLmRlZmF1bHQtYWRkcmVzcyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBoNCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwcHggMTBweCAwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmFkZHJlc3Mge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICB9XHJcbiAgICAuYWRkcmVzcy1lZGl0IHtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICBtYXJnaW46IDE1cHg7XHJcbiAgICB9XHJcbn1cclxuLmFkZHJlc3NlcyB7XHJcbiAgICAub3RoZXItYWRkcmVzcyB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzlhYWNiNztcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5YWFjYjc7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGRyZXNzIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm90aGVyLWFkZHJlc3MtYnV0dG9uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHggMTVweCAxNXB4IDE1cHg7XHJcbiAgICAgICAgICAgIC5hZGRyZXNzLXJlbW92ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMTRcIjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYWRkcmVzcy1kZWZhdWx0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcbi5idXR0b24tYWRkLWFkZHJlc3Mge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG4iLCIubGVucy12YWx1ZS1wcm9maWxlcyB7XG4gIC5hY3RpdmUtbGVucy12YWx1ZS1wcm9maWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBoNCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgcGFkZGluZzogMTBweCAwcHggMTBweCAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmxlbnMtdmFsdWUtcHJvZmlsZSB7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgIH1cblxuICAgIC5sZW5zLXZhbHVlLXByb2ZpbGUtZWRpdCB7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgbWFyZ2luOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5vdGhlci1sZW5zLXZhbHVlLXByb2ZpbGUge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5YWFjYjc7XG5cbiAgICBoNCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWFhY2I3O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5sZW5zLXZhbHVlLXByb2ZpbGUge1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICB9XG5cbiAgICAub3RoZXItbGVucy12YWx1ZS1wcm9maWxlLWJ1dHRvbnMge1xuICAgICAgbWFyZ2luOiAwcHggMTVweCAxNXB4IDE1cHg7XG5cbiAgICAgIC5sZW5zLXZhbHVlLXByb2ZpbGUtcmVtb3ZlIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDE0XCI7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmxlbnMtdmFsdWUtcHJvZmlsZS11c2Uge1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICAgIC5sZW5zLXZhbHVlLXByb2ZpbGUtZWRpdCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgbWFyZ2luOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi5idXR0b24tYWRkLWxlbnMtdmFsdWUtcHJvZmlsZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5sZW5zLXZhbHVlLXByb2ZpbGUtZm9ybSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5YWFjYjc7XG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgLmxlbnMtdmFsdWUtcHJvZmlsZS1uYW1lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWFhY2I3O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMTBweCAwcHggMTBweCAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIH1cblxuICAgIDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IGRpbWdyZXk7XG4gICAgfVxuICB9XG5cbiAgLmZha2UtdGFibGUge1xuICAgIC5maWVsZCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzMzMzMzMzMzMzMzMzJTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNvb2tpZS1wb2xpY3lfX2NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogOTk5O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IFxuICAmLmhpZGRlbiAsIC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gICNqc3MtY3VzdG9taXplQ29va2llcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAmLm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC5pY29uLXF1ZXN0aW9uIHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDAuOXJlbTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjI5Y1wiO1xuICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICAgIH1cbiAgfVxufVxuXG4uY29va2llLXBvbGljeSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRwZXRyb2w7XG59XG5cbi5jb29raWUtcG9saWN5X190aXRsZSB7XG4gIGNvbG9yOiAkcGV0cm9sO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uY29va2llLXBvbGljeV9fbWVzc2FnZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5jb29raWUtcG9saWN5X19saW5rIHtcbiAgY29sb3I6ICRwZXRyb2w7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG59XG5cbi5jb29raWUtcG9saWN5X19idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNvb2tpZS1wb2xpY3lfX2J1dHRvbi0tcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkcGV0cm9sLCAkcGV0cm9sLWRhcmssICR3aGl0ZSk7XG59XG4uY29va2llLXBvbGljeV9fYnV0dG9uLS1zZWNvbmRhcnkge1xuICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGxpZ2h0LWdyYXksICRtZWRpdW0tZ3JheSwgJHdoaXRlKTtcbn1cblxuLmNvb2tpZS1wb2xpY3lfX29wdGlvbnMtY29udGFpbmVyIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuLmNvb2tpZS1wb2xpY3lfX29wdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA2MHB4O1xuXHRcdH1cblx0fVxufVxuXG4uY29va2llLXBvbGljeV9fbmFtZSB7XG5cdG1pbi13aWR0aDogMTcwcHg7XG59XG5cbi5jb29raWUtcG9saWN5X19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59IiwiLyogQ29tcG9uZW50IFRyeW9uIFJFdmVhbCBQb3B1cCovXG5cbmEuanNlLXRyeW9uLWFjdGlvbi1vbi1pbWFnZTpob3ZlcjpiZWZvcmUsIC5hY3RpdmUtdXNlci1waWM6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgY29udGVudDogXCJcXGYwNWRcIjtcbiAgLy9mb250LXNpemU6IDJyZW07XG4gIGZvbnQtc2l6ZTogNC4xMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEyMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiA0LjEyNXJlbTtcbiAgfVxufVxuXG4udHJ5b25SZXZlYWwge1xuXG4gIGEuanNlLXRyeW9uLWFjdGlvbiB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgcGFkZGluZzowLjVyZW07XG4gICAgbWFyZ2luOjA7XG4gICAgJi5kZWxldGUge1xuICAgICAgY29sb3I6JGZvbnQtY29sb3ItcmVkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB9XG4gICAgJi5hY3RpdmF0ZSB7XG5cbiAgICB9XG4gIH1cblxuICBhLmpzZS10cnlvbi1hY3Rpb24tb24taW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBhLmpzZS10cnlvbi1hY3Rpb24tb24taW1hZ2U6aG92ZXI6YmVmb3JlLCAuYWN0aXZlLXVzZXItcGljOmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgICBjb250ZW50OiBcIlxcZjA1ZFwiO1xuICAgIGZvbnQtc2l6ZTogNC4xMjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG5cblxuXG4gIGhyIHtcbiAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgfVxuICAuanNkLXVzZXJwaWNUcnlvbkZvdG9zIHtcbiAgIC8vIGZsb2F0OmxlZnQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAucGVyc29uYWxwaWN0dXJlcyxcbiAgICAuZXhhbXBsZXBpY3R1cmVzXG4gICAge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgICB9XG4gIH1cblxuXG4gIC50cnlvbi1waWMtc21hbGwge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTUwKTtcbiAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygxMjApO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gIC51c2VycGljVHJ5b25TZWxlY3Rpb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW47XG5cbiAgfVxuXG5cblxuICBidXR0b24ge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDUwKTtcbiAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDM1MCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuanNlLXNldC1sZWZ0LWV5ZSwgLmpzZS1zZXQtcmlnaHQtZXllIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMSwgMC41KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgLmV5ZS1kZXNjcmlwdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQwcHg7XG4gICAgICB3aWR0aDogMzhweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IGdyZXk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvMmR0cnlvbi9jcm9zczgweDgwLnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB9XG5cbiAgLmpzZS1zZXQtbGVmdC1leWUge1xuICAgIGxlZnQ6IDE0MHB4O1xuICAgIHRvcDogMjAwcHg7XG4gIH1cblxuICAuanNlLXNldC1yaWdodC1leWUge1xuICAgIGxlZnQ6IDQ0MHB4O1xuICAgIHRvcDogMjAwcHg7XG4gIH1cblxuICAvLyB0b2RvOmNyZWF0ZSBhIG1peGluXG4gIC8vIGxvYWRpbmcgYW5pbWF0aW9uXG4gIC5hamF4TG9hZGVyQ2lyY2xlIHtcbiAgICBtaW4taGVpZ2h0OiAyMHJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvL2xlZnQ6IDUwJTtcbiAgfVxuXG4gIC5hamF4TG9hZGVyQ2lyY2xlOmJlZm9yZXtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEyMHB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgY29udGVudDogXCJcXGU5ODJcIjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0MCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb246c3BpbiA0cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLW1vei1hbmltYXRpb246c3BpbiA0cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uOnNwaW4gNHMgbGluZWFyIGluZmluaXRlO1xuICB9XG4gIEAtbW96LWtleWZyYW1lcyBzcGluIHsgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG4gIEAtd2Via2l0LWtleWZyYW1lcyBzcGluIHsgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG4gIEBrZXlmcmFtZXMgc3BpbiB7IDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTsgfSB9XG59XG5cblxuLmljb24tdHJ5b24udXNlcnBpY1RyeW9uLmpzZS10cnlvbi1nb3Rvc3RlcC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAyOHB4O1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAudHJ5b24tYnV0dG9uLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuLnRyeW9uLXB2LWFycm93cyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IDc1cHg7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiMwMDAwMDA7XG4gIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgfVxufVxuXG4udHJ5b24tcHYtYXJyb3dzIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogNzVweDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IzAwMDAwMDtcbiAgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICB9XG59XG5cbi50cnlvbi1wdi12aWV3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC8vZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuanMtcHYtdHJ5b24taW1hZ2UgIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vcGFkZGluZy10b3A6JGdsb2JhbC1wYWRkaW5nO1xuICAgIGltZyB7XG4gICAgICAvL21hcmdpbi10b3A6IDI1cHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBAaW5jbHVkZSBkYXJrZW5QaWN0dXJlKCk7XG4gIC8vcGFkZGluZzogMzBweDtcblxuICAucHJlbG9hZC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA0NTBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLnRyeW9uLXB2LWFycm93cyB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcblxuICAjanNkLXB2LXRyeW9uLWltYWdlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcbiAgICAgIG1hcmdpbjogMCAwLjVyZW07XG4gICAgfVxuXG4gICAgLnVzZXJwaWNUcnlvblNlbGVjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICBmbGV4OiAxIDAgY2FsYygyNSUgLSAxcmVtKTtcbiAgICAgICAgLnB2LXRyeW9uLWltYWdlcy1pdGVtLWRlbGV0ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTYwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE2MHB4OyAvLyBoYWNrIGNocm9tZVxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICAgIC5jZWxsLm1lZGl1bS1hdXRvIHtcbiAgICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxNjBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsIDAuMik7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgI2pzZS10cnlvblB2QXJyb3dOZXh0LCAjanNlLXRyeW9uUHZBcnJvd1ByZXYge1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwgMC4zKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MCU7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwgMC42KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC41cztcbiAgICB9XG4gIH1cblxuICAjanNlLXRyeW9uUHZBcnJvd05leHQge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gICNqc2UtdHJ5b25QdkFycm93UHJldiB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5zaG93TG9hZGVyIHtcbiAgICAuaXMtbG9hZGluZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDAuMyk7XG4gICAgICB6LWluZGV4OiA5OTk7XG4gICAgfVxuICB9XG5cbn1cbi5jb250ZW50LXByb2R1Y3QtcGljdHVyZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuLm1lbnUtZ2FsbGVyeTJ0cnlvbiB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgLm1lbnUtYWN0aXZlZ2FsbGVyeSxcbiAgLnRyeW9ub25saW5le1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtYWN0aXZlZ2FsbGVyeSB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnRyeW9ub25saW5lLCAudXNlcnBpY1RyeW9uIHtcbiAgPmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5zaGFyZWJ1dHRvbmYge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59IiwiLy9uZXcgdG9vbFxuLlBEVE9PTEZPTERFUiB7XG4gICYuanNzLXBkVG9vbEltYWdlU2VsZWN0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAucGR0b29sLS1jb250ZW50LXVwbG9hZC1maWxlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIGgyLmludHJvUGR0b29sIHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuXG4gIC8qIFVwZGF0ZSAwNS8yMDE5ICovXG4gIC5wZHRvb2wtLXZpZXdzIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAucGR0b29sLS12aWV3IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5wZHRvb2wtLWhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgQGV4dGVuZCAudGV4dC11cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAucGR0b29sLS1oZWFkZXItZGVzY3JpcHRpb24ge31cbiAgICAgIH1cblxuICAgICAgaHIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuXG4gICAgICAucGR0b29sLS1jb250ZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoNCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7fVxuICAgICAgICAucGR0b29sLS1kZWZhdWx0LWxpc3Qge1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHggMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjcGR0b29sLS1jb250ZW50LXZpZGVvLWhvbGRlcixcbiAgICAgICAgI3BkdG9vbC0tY29udGVudC1yZXN1bHQtaG9sZGVyIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY2FudmFzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY2NjY2NjtcbiAgICAgIH1cblxuICAgICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XG5cbiAgICAgIC5idG4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgQGV4dGVuZCAudGV4dC11cHBlcmNhc2U7XG4gICAgICAgICYucGR0b29sLS1idG4tcHJpbWFyeSB7fVxuICAgICAgICAmLnBkdG9vbC0tYnRuLXNlY29uZGFyeSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudXBsb2FkLXBkVG9vbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIHdpZHRoOiAxMjBweDtcblxuXG4gICAgLmljb24taW1hZ2U6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgIH1cblxuICAgIC5pY29uLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAuaWNvbi1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLmljb24tcXVlc3Rpb24tY2lyY2xlLW86OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG5cbiAgICAuaWNvbi1xdWVzdGlvbi1jaXJjbGUtbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLnBkdG9vbC0tZm9vdGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgLnBkdG9vbC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcblxuICAgIC5pY29uLWltYWdlOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG5cbiAgICAuaWNvbi1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgLmljb24td2ViY2FtOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG5cbiAgICAuaWNvbi13ZWJjYW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5pY29uLWNhcmV0LXJpZ2h0OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG5cbiAgICAuaWNvbi1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG5cblxuICAvKnRoZSBib3ggaW4gcHYqL1xuICAudXBsb2FkLXBkVG9vbC1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW47XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuXG4gICAgI2pzZC1wZFRvb2wtdXBsb2FkLWl0ZW0tdGV4dCB7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGwgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICB9XG5cbiAgICAuaWNvbi10aW1lcy1jaXJjbGUtbyB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICByaWdodDogLTEwcHg7XG5cbiAgICAgICYuaGFzLXRpcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uLXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLnJlU3VibWl0UGRUYXNrIC51cGxvYWQtcGRUb29sLWl0ZW0ge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLmNhcmRzX2Jsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICAuZ3JpZC14IHtcbiAgICAgICAgLmNlbGwge1xuICAgICAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkY2FyZC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgLy9pbWcge1xuICAgICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgICAgIC5jYXJkLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgICAgICAgICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCBoNDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRmxleCBib3hlc1xuLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyAtLS0gTU9CSUxFIEZJUlNUIC0tLVxuXG4uZmxleC1ib3gtY29udGFpbmVyIHtcbiAgICAuY2VsbCB7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGhlaWdodDogMzIwcHg7XG5cbiAgICAgICAgICAgIC8vIEhlaWdodCAoTGFyZ2UgYW5kIG1vcmUpXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mbGV4LWJveC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyMDtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXJlZ3VsYXI7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU2l6ZSAoTWVkaXVtKVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFNpemUgKExhcmdlIGFuZCBtb3JlKVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gU2l6ZSAoTWVkaXVtKVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvLyBTaXplIChMYXJnZSBhbmQgbW9yZSlcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uIGluIERlc2t0b3BcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgLy8gQ2FwdGlvbiBhdCB0aGUgdG9wXG4gICAgICAgICAgICAmLmNhcHRpb24tdG9wIHtcbiAgICAgICAgICAgICAgICAuZmxleC1ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENhcHRpb24gYXQgdGhlIGJvdHRvbVxuICAgICAgICAgICAgJi5jYXB0aW9uLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgLmZsZXgtYm94LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDYXB0aW9uIGF0IHRoZSBjZW50ZXJcbiAgICAgICAgICAgICYuY2FwdGlvbi1jZW50ZXIge1xuICAgICAgICAgICAgICAgIC5mbGV4LWJveC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDYXB0aW9uIHZlcnRpY2FsbHkgY2VudGVyZWRcbiAgICAgICAgICAgICYuY2FwdGlvbi1taWRkbGUge1xuICAgICAgICAgICAgICAgIC5mbGV4LWJveC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFNQRUNJQUwgQ0FTRTogd2hlbiBjYXB0aW9uIGlzIGNlbnRlciBBTkQgbWlkZGxlXG4gICAgICAgICAgICAmLmNhcHRpb24tY2VudGVyLmNhcHRpb24tbWlkZGxlIHtcbiAgICAgICAgICAgICAgICAuZmxleC1ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENhcHRpb24gYXQgdGhlIGxlZnRcbiAgICAgICAgICAgICYuY2FwdGlvbi1sZWZ0IHtcbiAgICAgICAgICAgICAgICAuZmxleC1ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDYXB0aW9uIGF0IHRoZSByaWdodFxuICAgICAgICAgICAgJi5jYXB0aW9uLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICAuZmxleC1ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENhcHRpb24gdGFrZXMgODAlIG9mIHRoZSB3aWR0aFxuICAgICAgICAgICAgJi5jYXB0aW9uLTYwcGMge1xuICAgICAgICAgICAgICAgIC5mbGV4LWJveC1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDYXB0aW9uIHRha2VzIDgwJSBvZiB0aGUgd2lkdGhcbiAgICAgICAgICAgICYuY2FwdGlvbi04MHBjIHtcbiAgICAgICAgICAgICAgICAuZmxleC1ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVG8gaGF2ZSBhIGhvbGxvdyBzdHlsZWQgYnV0dG9uXG4gICAgICAgIC8vJi5idXR0b24taG9sbG93IHtcbiAgICAgICAgLy8gICAgYSB7XG4gICAgICAgIC8vICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgLy8gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAvLyAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgLy8gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAvLyAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAvLyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIC8vICAgICAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICAvLyAgICAgICAgICAgIH1cbiAgICAgICAgLy8gICAgICAgIH1cbiAgICAgICAgLy8gICAgfVxuICAgICAgICAvL31cbiAgICB9XG59XG4iLCJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERFU0NSSVBUSU9OIEhFQURFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyAtLS0gTU9CSUxFIEZJUlNUIC0tLVxuXG4ucGFnZS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAqIDI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM0MHB4O1xuICAgIH1cbiAgICAvLyBJbWFnZSBDb3ZlclxuICAgIC5pbWctY29udGVudCB7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0ZWdvcnktdGl0bGUtY29udGVudCB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgLjNzO1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaXRsZVxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtcmVndWxhcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNhdGVnb3J5LWRlc2NyaXB0aW9uIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvKiBGYWxsYmFjayBmb3Igbm9uLXdlYmtpdCAqL1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvbnQtc2l6ZS1zbWFsbCokbGluZS1oZWlnaHQtc21hbGwqJGxpbmVzLXRvLXNob3ctc21hbGw7IC8qIEZhbGxiYWNrIGZvciBub24td2Via2l0ICovXG4gICAgICAgICAgICAgICAgLy9oZWlnaHQ6IDYycHg7IC8qIEZhbGxiYWNrIGZvciBub24td2Via2l0ICovXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZXMtdG8tc2hvdy1zbWFsbDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkZm9udC1zaXplLWxhcmdlKiRsaW5lLWhlaWdodC1sYXJnZSokbGluZXMtdG8tc2hvdy1sYXJnZTsgLyogRmFsbGJhY2sgZm9yIG5vbi13ZWJraXQgKi9cbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICAgICAgICAgICAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtc21hbGw7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XG4gICAgICAgICAgICAgICAgICAgIC8vLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZXMtdG8tc2hvdy1zbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgLy9mb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVzLXRvLXNob3ctbGFyZ2U7XG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogMjNweDtcbiAgICAgICAgICAgICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiA0MXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idG4taW5mbyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ubW9yZS1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNwYW4ubGVzcy1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUb2dnbGUgQnV0dG9uXG4gICAgLmNhdGVnb3J5LXRpdGxlLWNvbnRlbnQuZGVzY3JpcHRpb24tdG9nZ2xlciB7XG4gICAgICAgIC5jYXRlZ29yeS1kZXNjcmlwdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIC5jYXRlZ29yeS1kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnRuLWluZm8ge1xuICAgICAgICAgICAgICAgIHNwYW4ubW9yZS1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3Bhbi5sZXNzLWluZm8ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5pbWFnZXNfd2l0aF9saW5rcyB7XG4gICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBlYXNlLWluLW91dDsgLy8uMjVzXG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya2VzdC1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogaHNsYSgyMDIsIDQ0JSwgMTUlLCAuNzUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogaW5pdGlhbDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIH1cbn1cbiIsIi5pbWFnZV9ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxpbmtfbGlzdCB7XG5cbn1cblxuLmJ1dHRvbnMtbGluZSB7XG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8pO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChmdWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIC8vICRwZXRyb2wgaXMgbm90IHRha2UgaW50byBhY2NvdW50XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKHRydWUsICRib2R5LWZvbnQtY29sb3IsICRwZXRyb2wsICRib2R5LWZvbnQtY29sb3IsIGhvbGxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuIiwiLy8gTm90ZTogbmV3c2xldHRlci1ib3ggaXMgYmFzZWQgb24gZmxleC1ib3hlcy4uLiAgQWxsIGZsZXgtYm94ZXMgY2xhc3NlcyBhcHBseVxuLy8gbmV3c2xldHRlci1mbGV4Ym94XG4ubmV3c2xldHRlci1ib3gtY29udGFpbmVyIHtcbiAgICAuY2VsbCB7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICAuZmxleC1ib3gtY29udGVudCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICB0b3AgOiAzMCU7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5oMi13aGl0ZS1jZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgLmlucHV0LWJveCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzUlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBPcmJpbiBzbGlkZXJcbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnNsaWRlci1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAub3JiaXQtY2FwdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgfVxuICAgICAgICAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAvLyBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgLy8gdG9wOiA1MHB4O1xuXG4gICAgICAgICAgICAuc3VydGl0bGUsXG4gICAgICAgICAgICAudGl0bGUsXG4gICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLy50aXRsZSB7XG4gICAgICAgICAgICAvLyAgICBmb250LXdlaWdodDogJGZvbnQtcmVndWxhcjtcbiAgICAgICAgICAgIC8vICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgICAgICAgIC8vICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuICAgICAgICAgICAgLy8gICAgbGV0dGVyLXNwYWNpbmc6IC0yJTtcbiAgICAgICAgICAgIC8vfVxuXG4gICAgICAgICAgICAvLy5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAvLyAgICBsaW5lLWhlaWdodDogMzFweDtcbiAgICAgICAgICAgIC8vfVxuXG4gICAgICAgICAgICAvL0J1dHRvblxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuXG4gICAgICAgICAgICAgICAgLy8gVG8gaGF2ZSBhIGhvbGxvdyBzdHlsZWQgYnV0dG9uXG4gICAgICAgICAgICAgICAgLy8mLmJ1dHRvbi1ob2xsb3cge1xuICAgICAgICAgICAgICAgIC8vICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgICAgICAgLy8gICAgYm9yZGVyOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIC8vICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgLy8gICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLy8gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgICAgICAgICAgLy8gICAgfVxuICAgICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzIGFuZCBzaXplc1xuICAgIC5vcmJpdC1zbGlkZSB7XG5cbiAgICAgICAgLnN1cnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC4ycmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQuMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMnJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi4ycmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc3VydGl0bGUtZGFyayB7IC5zdXJ0aXRsZSB7IGNvbG9yOiAkYmxhY2s7IH0gfVxuICAgICAgICAmLnRpdGxlLWRhcmsgeyAudGl0bGUgeyBjb2xvcjogJGJsYWNrOyB9IH1cbiAgICAgICAgJi5zdWJ0aXRsZS1kYXJrIHsgLnN1YnRpdGxlIHsgY29sb3I6ICRibGFjazsgfSB9XG5cbiAgICAgICAgJi5zdXJ0aXRsZS1saWdodCB7IC5zdXJ0aXRsZSB7IGNvbG9yOiAkd2hpdGU7IH0gfVxuICAgICAgICAmLnRpdGxlLWxpZ2h0IHsgLnRpdGxlIHsgY29sb3I6ICR3aGl0ZTsgfSB9XG4gICAgICAgICYuc3VidGl0bGUtbGlnaHQgeyAuc3VidGl0bGUgeyBjb2xvcjogJHdoaXRlOyB9IH1cblxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9ucyBpbiBEZXNrdG9wXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICAgICAub3JiaXQtc2xpZGUge1xuXG4gICAgICAgICAgICAvLyBDYXB0aW9uIGF0IHRoZSB0b3BcbiAgICAgICAgICAgICYuY2FwdGlvbi10b3Age1xuICAgICAgICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgLm9yYml0LWNhcHRpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDYXB0aW9uIGF0IHRoZSBib3R0b21cbiAgICAgICAgICAgICYuY2FwdGlvbi1ib3R0b20ge1xuICAgICAgICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgLm9yYml0LWNhcHRpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDYXB0aW9uIGF0IHRoZSBjZW50ZXJcbiAgICAgICAgICAgICYuY2FwdGlvbi1jZW50ZXIge1xuICAgICAgICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgLm9yYml0LWNhcHRpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDYXB0aW9uIHZlcnRpY2FsbHkgY2VudGVyZWRcbiAgICAgICAgICAgICYuY2FwdGlvbi1taWRkbGUge1xuICAgICAgICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgLm9yYml0LWNhcHRpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBTUEVDSUFMIENBU0U6IHdoZW4gY2FwdGlvbiBpcyBjZW50ZXIgQU5EIG1pZGRsZVxuICAgICAgICAgICAgJi5jYXB0aW9uLWNlbnRlci5jYXB0aW9uLW1pZGRsZSB7XG4gICAgICAgICAgICAgICAgLm9yYml0LWNhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDYXB0aW9uIGF0IHRoZSBsZWZ0XG4gICAgICAgICAgICAmLmNhcHRpb24tbGVmdCB7XG4gICAgICAgICAgICAgICAgLm9yYml0LWNhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQ2FwdGlvbiBhdCB0aGUgcmlnaHRcbiAgICAgICAgICAgICYuY2FwdGlvbi1yaWdodCB7XG4gICAgICAgICAgICAgICAgLm9yYml0LWNhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENhcHRpb24gYXQgdGhlIHJpZ2h0XG4gICAgICAgICAgICAmLmNhcHRpb24tMzBwYyB7XG4gICAgICAgICAgICAgICAgLm9yYml0LWNhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAub3JiaXQtY2FwdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRpdGxlIEJsb2NrXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50aXRsZV9ibG9jayB7XG4gIC5jZWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH1cbiAgfVxuICBoMiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgb3JkZXI6IDM7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIC8vd2lkdGg6IGluaXRpYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDYxXCI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuICAgICAgfVxuICAgIH1cbiAgICAvL0BpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAvLyAgd2lkdGg6IDUwJTtcbiAgICAvLyAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIC8vfVxuICB9XG4gIC50ZXh0LWludHJvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cbiAgfVxufSIsIi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEN1c3RvbWVyIEFjY291bnQgLSBQYWdlXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vKkFuaW1hdGlvbiBvZiB0aGUgY3VzdG9tZXItYnV0dG9uLXN1Ym1lbnUqL1xuYm9keSB7XG4gICYudG9vbGJhci1oaWRkZW57XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG59XG4udGl0bGUtYmFyLWxlZnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYnV0dG9uLXN1Ym1lbnUtY3VzdG9tZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgdG9wOiAwLjRyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY3VzdG9tZXItY29udGVudC1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gICYuaXMtYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDowO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMzUpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjVzIGZvcndhcmRzO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZS1pbiAwLjRzIGZvcndhcmRzO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGN1cnNvcjogYXV0bztcbiAgICB9XG4gIH1cbiAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6MDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zNSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC41cyBmb3J3YXJkcztcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZS1vdXQgMC40cyBmb3J3YXJkcztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICBhbmltYXRpb246IHNsaWRlLWluIDAuNXMgZm9yd2FyZHM7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogc2xpZGUtaW4gMC40cyBmb3J3YXJkcztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBzbGlkZS1pbntcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBzbGlkZS1vdXQge1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIH1cblxuICBALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGUtb3V0IHtcbiAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAgIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgfVxufVxuXG4ubmF2LWFjY291bnR7XG4gIHBhZGRpbmc6IDAuN3JlbTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuLypFbmQgb2YgdGhlIGZ1bmNpb25hbGl0eSBvZiB0aGUgY3VzdG9tZXItYnV0dG9uLXN1Ym1lbnUqL1xuXG4ubmF2LWFjY291bnQge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6ICRmb250LWxpZ2h0O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbiAgbGkuc2VsZWN0ZWQge1xuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcihwZXRyb2wpO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ3VzdG9tZXIgQWNjb3VudCAtIE9yZGVyXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5vcmRlci1jb250YWluZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gIC5vcmRlci10aXRsZS1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG4gIC5vcmRlci1saXN0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRvcDogMzAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLWFjdGl2ZSA+IGEuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1jb25maWd1cmF0aW9uIHtcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6ICRsaWdodGVzdC1ncmF5O1xuICAgICAgLm9yZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIC5wcmljZS10aXRsZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnByaWNlLWJveCB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAub3JkZXItYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEN1c3RvbWVyIFNlcnZpY2UgLSBQYWdlXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5wYWdlLWJhbm5lci5jdXN0b21lci1zZXJ2aWNlLWJhbm5lciB7IFxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZXMvYmFubmVycy9jdXN0b21lcl9zZXJ2aWNlLnBuZ1wiKTtcblx0YmFja2dyb3VuZC1zaXplOiA0MzZweDtcblx0bWluLWhlaWdodDogMjY1cHg7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5jb250YWN0LWNvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XG5cdHBhZGRpbmc6MjVweDtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDFweCByZ2JhKDAsMCwwLDAuNSk7XG5cdG1hcmdpbi1ib3R0b206MjVweDtcbn1cblxuLmF2YXRhciB7XG4gIFx0d2lkdGg6IDE0OXB4O1xuICBcdGhlaWdodDogMTQ5cHg7XG59XG5cbiNjb250YWN0LXBhZ2UgLmNvbnRhY3QtY29udGVudCAuaW50cm8tY29udGFjdC1jb250ZW50IHtcblx0cGFkZGluZy1ib3R0b206MXB4O1xufVxuXG4uY29udGFjdC1jb250ZW50IC5pbnRyby1jb250YWN0LWNvbnRlbnQgaDMge1xuXHRtYXJnaW4tdG9wOi0xMDBweDtcblx0bWFyZ2luLWxlZnQ6MTgwcHg7XG5cdGJvcmRlci1ib3R0b206MHB4O1xuXHRmb250LXdlaWdodDpib2xkO1xuXHRmb250LXNpemU6MjRweDtcbn1cblxuLmNvbnRhY3QtY29udGVudCAuaW50cm8tY29udGFjdC1jb250ZW50IGgyIHtcblx0bWFyZ2luLXRvcDotMTBweDtcblx0bWFyZ2luLWxlZnQ6MTgwcHg7XG5cdGZvbnQtd2VpZ2h0Om5vcm1hbDtcblx0Zm9udC1zaXplOjE4cHg7XG5cdGNsZWFyOmluaGVyaXQ7XG5cdHBhZGRpbmctYm90dG9tOjE1cHg7XG5cdGNvbG9yOiM0NjdmZTY7XG59XG5cbi8qI2NvbnRhY3QtcGFnZSAuY29udGFjdC1jb250ZW50IC5yb3ctZm91bmQgLmNvbC1wYWRkaW5ne1xuXHRwYWRkaW5nLXRvcDoxMHB4O1xufSovXG5cbi5mbGFnLWZyIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BhZ2VzL2N1c3RvbWVyX3NlcnZpY2UvZmxhZ19mci5wbmdcIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHdpZHRoOjQwcHg7XG5cdGhlaWdodDoyNHB4O1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OjhweDtcbn1cblxuLmZsYWctYmUge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZXMvY3VzdG9tZXJfc2VydmljZS9mbGFnX2JlLnBuZ1wiKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0d2lkdGg6NDBweDtcblx0aGVpZ2h0OjI0cHg7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xufVxuXG4uZmxhZy1wdCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wYWdlcy9jdXN0b21lcl9zZXJ2aWNlL2ZsYWdfcHQucG5nXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR3aWR0aDo0MHB4O1xuXHRoZWlnaHQ6MjRweDtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDo4cHg7XG59XG5cbi5mbGFnLWVzIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3BhZ2VzL2N1c3RvbWVyX3NlcnZpY2UvZmxhZ19lcy5wbmdcIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHdpZHRoOjQwcHg7XG5cdGhlaWdodDoyNHB4O1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0bWFyZ2luLXJpZ2h0OjhweDtcbn1cblxuLmZsYWctbmwge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZXMvY3VzdG9tZXJfc2VydmljZS9mbGFnX25sLnBuZ1wiKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0d2lkdGg6NDBweDtcblx0aGVpZ2h0OjI0cHg7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRtYXJnaW4tcmlnaHQ6OHB4O1xufVxuXG4uZmxhZy1lbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wYWdlcy9jdXN0b21lcl9zZXJ2aWNlL2ZsYWdfZW4ucG5nXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR3aWR0aDo0MHB4O1xuXHRoZWlnaHQ6MjRweDtcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDo4cHg7XG59XG5cbiNjb250YWN0LXBhZ2UgdWwge1xuXHRtYXJnaW46MDtcbn1cblxuXG4jY29udGFjdC1wYWdlIHVsIGxpOjpiZWZvcmUge1xuXHRkaXNwbGF5Om5vbmU7XG59XG5cbiNjb250YWN0LXBhZ2UgLmNvbnRhY3QtY29udGVudCBpIHtcblx0bWFyZ2luLXJpZ2h0OjEwcHg7XG5cdGZvbnQtc2l6ZToxNnB4O1xufVxuXG4ucmVwbHktY29udGFjdCB7XG5cdGRpc3BsYXk6aW5saW5lLWZsZXg7XG59XG5cbi8qQk9VVE9OKi9cbi5idG4tY3VzdG9tZXItY29udGFjdCB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogODtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJhY2tncm91bmQ6ICM4NGIyNDM7XG4gIHBhZGRpbmc6IDJweCAxMHB4IDJweCAxMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNjb250YWN0LXBhZ2UgLmJ0bi1jdXN0b21lci1jb250YWN0IHAge1xuXHRmb250LXNpemU6MTZweDtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHRcbn1cblxuI2NvbnRhY3QtcGFnZSAuYnRuLWN1c3RvbWVyLWNvbnRhY3QgcCBhIHsgXG5cdHRleHQtZGVjb3JhdGlvbjpub25lO1xuXHRjb2xvcjojZmZmO1x0XG59XG5cbi5idG4tY3VzdG9tZXItY29udGFjdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4YWMwM2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ0bi1jdXN0b21lci1jb250YWN0LXB0IHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYmFja2dyb3VuZDogIzg0YjI0MztcbiAgcGFkZGluZzogMnB4IDEwcHggMnB4IDEwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuI2NvbnRhY3QtcGFnZSAuYnRuLWN1c3RvbWVyLWNvbnRhY3QtcHQgcCB7XG5cdGZvbnQtc2l6ZToxNnB4O1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcdFxufVxuXG4jY29udGFjdC1wYWdlIC5idG4tY3VzdG9tZXItY29udGFjdC1wdCBwIGEge1xuXHR0ZXh0LWRlY29yYXRpb246bm9uZTtcblx0Y29sb3I6I2ZmZjtcdFxufVxuXG4uYnRuLWN1c3RvbWVyLWNvbnRhY3QtcHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjOGFjMDNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5idG4tY3VzdG9tZXItY29udGFjdC1lcyB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogODtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJhY2tncm91bmQ6ICM4NGIyNDM7XG4gIHBhZGRpbmc6IDJweCAxMHB4IDJweCAxMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiA0NHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNjb250YWN0LXBhZ2UgLmJ0bi1jdXN0b21lci1jb250YWN0LWVzIHAge1xuXHRmb250LXNpemU6MTZweDtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHRcbn1cblxuI2NvbnRhY3QtcGFnZSAuYnRuLWN1c3RvbWVyLWNvbnRhY3QtZXMgcCBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cdGNvbG9yOiNmZmY7XHRcbn1cblxuLmJ0bi1jdXN0b21lci1jb250YWN0LWVzOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzhhYzAzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnRuLWN1c3RvbWVyLWNvbnRhY3Qtbmwge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogODtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kOiAjODRiMjQzO1xuICBwYWRkaW5nOiAycHggMTBweCAycHggMTBweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4jY29udGFjdC1wYWdlIC5idG4tY3VzdG9tZXItY29udGFjdC1ubCBwIHtcblx0Zm9udC1zaXplOjE2cHg7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xufVxuXG4jY29udGFjdC1wYWdlIC5idG4tY3VzdG9tZXItY29udGFjdC1ubCBwIGEge1xuXHR0ZXh0LWRlY29yYXRpb246bm9uZTtcblx0Y29sb3I6I2ZmZjtcdFxufVxuXG4uYnRuLWN1c3RvbWVyLWNvbnRhY3Qtbmw6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjOGFjMDNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5idG4tY3VzdG9tZXItY29udGFjdC1lbiB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogODtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJhY2tncm91bmQ6ICM4NGIyNDM7XG4gIHBhZGRpbmc6IDJweCAxMHB4IDJweCAxMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNjb250YWN0LXBhZ2UgLmJ0bi1jdXN0b21lci1jb250YWN0LWVuIHAge1xuXHRmb250LXNpemU6MTZweDtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHRcbn1cblxuI2NvbnRhY3QtcGFnZSAuYnRuLWN1c3RvbWVyLWNvbnRhY3QtZW4gcCBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cdGNvbG9yOiNmZmY7XHRcbn1cblxuLmJ0bi1jdXN0b21lci1jb250YWN0LWVuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzhhYzAzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLypGSU4gQk9VVE9OKi9cblxuLypNT0lCSUxFIFZJRVcqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcblx0LnBhZ2UtYmFubmVyLmN1c3RvbWVyLXNlcnZpY2UtYmFubmVyIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDMwMHB4O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogc21hbGwpIHtcblx0LmNvbDEtbGF5b3V0IC5wYWdlLWJhbm5lciAucGFnZS1iYW5uZXItdGl0bGUge1xuICAgIFx0bGVmdDogMHB4O1xuICAgIFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIFx0dG9wOiA3OCU7XG5cdH1cblx0LmN1c3RvbWVyLWluZm8tcHQge1xuXHRcdHBhZGRpbmctdG9wOiAwcHg7XG5cdH1cblx0LmF2YXRhciB7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHR9XG5cdC5jb250YWN0LWNvbnRlbnQgLmludHJvLWNvbnRhY3QtY29udGVudCBoMiwgXG5cdC5jb250YWN0LWNvbnRlbnQgLmludHJvLWNvbnRhY3QtY29udGVudCBoMyB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXHQuYnRuLWN1c3RvbWVyLWNvbnRhY3QsIC5idG4tY3VzdG9tZXItY29udGFjdC1ubCwgLmJ0bi1jdXN0b21lci1jb250YWN0LWVzIHtcblx0XHRtYXJnaW4tYm90dG9tOiA0NXB4O1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuXHQjY29udGFjdC1wYWdlIC5jb250YWN0LWNvbnRlbnQgLnJvdy1mb3VuZC5jb2wtcGFkZGluZyB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdC5idG4tY3VzdG9tZXItY29udGFjdCwgLmJ0bi1jdXN0b21lci1jb250YWN0LW5sLCBcblx0LmJ0bi1jdXN0b21lci1jb250YWN0LWVzLCAuYnRuLWN1c3RvbWVyLWNvbnRhY3QtcHQsIC5idG4tY3VzdG9tZXItY29udGFjdC1lbiB7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdH1cblx0LnN0YXRlcy1jb250YWN0e1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59IiwiLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJvZHVjdCAtIFBhZ2Vcbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gWk9PTUVEIElOIFBST0RVQ1QgSU1BR0VcblxuI21vZGFsSW1hZ2Uge1xuXHQucHJvZHVjdC1pbWFnZSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdC8vQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuXHRcdGltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IHVuc2V0O1xuXHRcdFx0Ly9AaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG5cdFx0fVxuXHR9XG59XG5cbi8vIFBSSUNFXG5cbi5wcmljZS1ib3gge1xuXHQucHJpY2Uge1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Ji5zcGVjaWFsUHJpY2Uge1xuXHRcdFx0Y29sb3I6JGZvbnQtY29sb3ItcmVkO1xuXHRcdH1cblx0XHQmLnJlZ3VsYXJQcmljZSB7XG5cdFx0XHQmLnN0cmlrZU91dFByaWNlIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdFx0XHRcdGNvbG9yOiAkbGlnaHQtZ3JheTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gUFJPRFVDVFxuXG4jcHJvZHVjdC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblx0Ly8gUHJvZHVjdCBvcmJpdCBzbGlkZXJcblx0Lm9yYml0IHtcblx0XHQuaWNvbnNhcmVhIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cdFx0Lm9yYml0LWNvbnRhaW5lciB7XG5cdFx0XHQub3JiaXQtc2xpZGUge1xuXHRcdFx0XHRmaWd1cmUge1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5pY29uc2FyZWEge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRib3R0b206IDVweDtcblx0XHRcdFx0XHRyaWdodDogMTVweDtcblx0XHRcdFx0XHRmb250LXNpemU6IDM0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC8vIFZlcnRpY2FsIGlubGluZSBpbWFnZSBnYWxsZXJ5IGZvciBtZWRpdW0gYW5kIHVwXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0XHQmIHtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdFx0XHQub3JiaXQtc2xpZGUge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdHRvcDogYXV0byAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcblx0XHRcdFx0XHRcdGZpZ3VyZSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGRhcmtlblBpY3R1cmUoKTtcblx0XHRcdFx0XHRcdFx0Ly9wYWRkaW5nOiAzMHB4O1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRcdFx0XHRcdFx0Lm9yYml0LWltYWdlIHtcblx0XHRcdFx0XHRcdFx0XHQvL21hcmdpbjogMzBweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0Lm9yYml0LWNvbnRyb2xzIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXHRcdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogMzBweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xuXHRcdH1cblx0XHQucHJvZHVjdC1uYW1lLWxpbmUtY29udGFpbmVyIHtcblx0XHRcdC5wcm9kdWN0LXRpdGxlIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzNnB4O1xuXHRcdFx0fVxuXHRcdFx0cC5zdWJ0aXRsZSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRcdH1cblx0XHRcdC5hZGQtdG8td2lzaGxpc3QtY29udGFpbmVyIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyOHB4O1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogM3B4O1xuXHRcdFx0XHRtaW4td2lkdGg6IDFweDtcdC8vIEZpeGVzIHRoZSBncmlkIHN5c3RlbSB3aGVuIHdpc2hsaXN0IGNvbnRhaW5lciBpcyBlbXB0eVxuXHRcdFx0fVxuXHRcdH1cblx0XHQucHJvZHVjdC1tYWluLWRhdGEtY29udGFpbmVyIHtcblx0XHRcdC8qb3ZlcndyaXRlIHByaWNlYm94IGZvciBjZXJ0YWluIHRlbXBsYXRlcyovXG5cdFx0XHQucHJpY2Uge1xuXHRcdFx0XHRmb250LXNpemU6IDEuNzVyZW07XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0XHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmFkZC10by1jYXJ0LWNvbnRhaW5lciB7XG5cdFx0XHQvLyBNb2JpbGUgc3RpY2t5IHBvc2l0aW9uXG5cdFx0XHRwb3NpdGlvbjogc3RpY2t5O1xuXHRcdFx0dG9wOiA0MHB4O1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0cGFkZGluZzogMjBweCAwO1xuXHRcdFx0YmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cdFx0XHRcdHRvcDogMHB4O1xuXHRcdFx0fVxuXHRcdFx0LmJ1dHRvbiB7XG5cdFx0XHRcdG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICAvL21heC13aWR0aDogMzQwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdCYuc3VjY2VzcyB7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRwYWRkaW5nOiAxOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5wcm9kdWN0LXRhYnMge1xuXHRcdFx0bWFyZ2luLXRvcDogMjVweDtcblx0XHRcdC8vLnRhYnMge1xuXHRcdFx0Ly9cdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHQvL31cblx0XHRcdC50YWJzLWNvbnRlbnQge1xuXHRcdFx0XHRibG9ja3F1b3RlIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogOXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoIHtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQvLy51bnN0cmlwZWQgdGJvZHkgdHIgdGQ6bGFzdC1jaGlsZCB7XG5cdFx0XHQvL1x0Ly9jb2xvcjogJGxpZ2h0ZXItZ3JheTtcblx0XHRcdC8vfVxuXHRcdFx0LnRhYnMtdGl0bGUsXG5cdFx0XHQuYWNjb3JkaW9uLXRpdGxlIHtcblx0XHRcdFx0LmxpbmstYm9yZGVyIHtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxKSByZW0tY2FsYygyKTtcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5yYXRpbmctc3RhcnMge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0XHQubGluay1ib3JkZXIge1xuXHRcdFx0XHRcdFx0Ym9yZGVyOnJlbS1jYWxjKDIpIHNvbGlkICRhbmNob3ItY29sb3I7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIFNIQVJFIEJVVFRPTlxuXG5cdFx0XHQuc2hhcmVfYnV0dG9uX2NvbnRhaW5lciB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Y29sb3I6ICRsaWdodC1ncmF5O1xuXHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA1cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0bWFyZ2luOiAzcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0Lmljb24tZW52ZWxvcGUge1xuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0cGFkZGluZzogMTJweDtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDBweDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0U0Q0U3Rjtcblx0XHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uLXNtb290aCgpO1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0Q4QkE0RDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Lmljb24tZmFjZWJvb2sge1xuXHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0cGFkZGluZzogMTJweCAxNXB4IDEycHggMTVQWDtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDBweDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzZGN0FCNztcblx0XHRcdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uLXNtb290aCgpO1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzVBNjhBRDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Lmljb24tdHdpdHRlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMnB4O1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDBBQ0VFO1xuXHRcdFx0XHRcdEBpbmNsdWRlIHRyYW5zaXRpb24tc21vb3RoKCk7XG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjOEU4MURFO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFdJU0hMSVNUXG5cdC5wcm9kdWN0X193aXNobGlzdC1hY3Rpb25zIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG5cblx0Lndpc2hsaXN0LWljb25zLmFkZC10by13aXNobGlzdC1jb250YWluZXIge1xuXHRcdC5qc2UtYWRkLXRvLXdpc2hsaXN0IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGNvbG9yOmJsYWNrO1xuXHRcdH1cblx0XHQuanNlLXJlbW92ZS1mcm9tLXdpc2hsaXN0IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdCYuanNzLWlzLW9uLXdpc2hsaXN0IHtcblx0XHRcdC5qc2UtYWRkLXRvLXdpc2hsaXN0IHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdC5qc2UtcmVtb3ZlLWZyb20td2lzaGxpc3Qge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gU3BlY2lmaWMgZm9yIGNvbnRhY3QgbGVuc2VzXG5cblx0Ji5jb250YWN0bGVucy1wcm9kdWN0IHtcblx0fVxuXG5cdC8vIFNwZWNpZmljIGZvciBnbGFzc2VzIC8gc3BlY3RhY2xlc1xuXG5cdCYuZ2xhc3Nlcy1wcm9kdWN0IHtcblx0XHQjSlMtUFZfU1RFUDIge1xuXHRcdFx0LmpzZS1jaG9vc2VMZW5zQ29sb3Ige1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdH1cblx0XHRcdC5qc3MtYnVuZGxlLXByaWNlIC5wcmljZS1ib3gge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmc6IDZweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdC5zcGVjaWFsUHJpY2Uge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5yZWd1bGFyUHJpY2Uuc3RyaWtlT3V0UHJpY2Uge1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQjY3VzdG9tZXJJbnB1dCB7XG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuYWRkLXRvLWNhcnQtYm90dG9tLWNvbnRhaW5lciB7XG5cdFx0XHRwb3NpdGlvbjogc3RpY2t5O1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdC5hZGQtdG8tY2FydC1idG4ge1xuXHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM0MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQubGVuc2NvbG9ybGlzdCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHRcdC5wcm9kdWN0LW9wdGlvbi10YWJzIHtcbiAgICAgICAgICAgIG1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG5cdFx0fVxuXHRcdC8qZGlzYWJsZWQgb3B0aW9ucyovXG5cdFx0LmRpc2FibGVkIHtcblx0XHRcdG9wYWNpdHk6IDAuNDtcblx0XHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0XHRhIHtcblx0XHRcdFx0b3BhY2l0eTogMC40O1xuXHRcdFx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gQ1VTVE9NSVNFRCBUQUJTXG5cblx0LnByb2R1ZGN0LXRpZXJwcmljZSB7XG5cdFx0LnRhYnMtdGl0bGUgYSB7XG5cdFx0XHQvL0BpbmNsdWRlIHRyYW5zaXRpb24tc21vb3RoKCk7XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMCk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZDtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuXHRcdFx0bGkgeyBwYWRkaW5nOiAwfVxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHR9XG5cdFx0LnRhYnN7XG5cdFx0XHRib3JkZXI6IDBweDtcblx0XHR9XG5cdH1cblx0LnByb2R1Y3Qtb3B0aW9uLXRhYnMge1xuXHRcdC50YWJzLXRpdGxlIGEge1xuXHRcdFx0bGkgeyBwYWRkaW5nOiAwfVxuXHRcdH1cblx0fVxuXHQucHJvZHVkY3QtdGllcnByaWNlLCAucHJvZHVjdC1vcHRpb24tdGFicyB7XG5cdFx0Jjpub3QoLmxlbnNjb2xvclRhYikgLnRhYnMtcGFuZWwge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdFx0Ly8mOm5vdCgubGVuc2NvbG9yVGFiKSAudGFic3tcblx0XHRcdC8vYm9yZGVyOiAwcHg7XG5cdFx0XHQvL2JhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ly99XG5cdFx0Ly8mOm5vdCgubGVuc2NvbG9yVGFiKSAudGFicy1jb250ZW50IHtcblx0XHRcdC8vbWFyZ2luOjA7XG5cdFx0XHQvL3BhZGRpbmc6MDtcblx0XHRcdC8vYm9yZGVyOiAwcHggIWltcG9ydGFudDtcblx0XHQvL31cblxuXHRcdC8vIFBSSUNJTkcgSU4gVEFCU1xuXG5cdFx0LnNhdmluZ1BlcmNlbnRhZ2Uge1xuXHRcdFx0Y29sb3I6JGZvbnQtY29sb3ItcmVkO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmbG9hdDpyaWdodDtcblx0XHR9XG5cdFx0LnRpZXJQcmljZVRvdGFsIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0XHQudGFiLXRpdGxlLWhlYWRpbmcge1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHR9XG5cdFx0LnRhYnMtdGl0bGUuaXMtYWN0aXZlLCAudGFicy10aXRsZS5lbmFibGVkOmhvdmVyIHtcblx0XHRcdC50YWJCdWxsZXRzIHtcblx0XHRcdFx0c3Bhbi5pY29uLWNpcmNsZS10aGluIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNwYW4uaWNvbi1kb3QtY2lyY2xlLW8ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRzcGFuLmljb24tZG90LWNpcmNsZS1vOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29sb3I6IGdyZWVuO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdGFuaW1hdGlvbi1uYW1lOiB0YWJCdWxsZXRzQWN0aXZlO1xuXHRcdFx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcblx0XHRcdFx0XHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHRcdFx0XHRhbmltYXRpb24tZGVsYXk6IDA7XG5cdFx0XHRcdFx0YW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xuXHRcdFx0XHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluaXRpYWw7XG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0fVxuXHRcdFx0XHRAa2V5ZnJhbWVzIHRhYkJ1bGxldHNBY3RpdmUge1xuXHRcdFx0XHRcdDAlIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdDEwMCUge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gU1RFUCAyIC0gTEVOUyBWQUxVRVNcblxuLmdsYXNzZXMtbGVucy12YWx1ZXMtY29udGFpbmVyIHtcblx0LmNhbGxvdXQge1xuXHRcdGhyIHtcblx0XHRcdG1hcmdpbi10b3A6IDFyZW07XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG5cdFx0fVxuXHRcdHAgc3BhbltjbGFzc149XCJpY29uLVwiXXtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdH1cblx0fVxufVxuXG4vLyBTVEVQIDIgLSBVUExPQUQgUFJFU0NSSVBUSU9OXG5cbi5nbGFzc2VzLXVwbG9hZC1wcmVzY3JpcHRpb24tY29udGFpbmVyIHtcblx0LnVwbG9hZC1wcmVzY3JpcHRpb257XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdHdpZHRoOiAxMDBweDtcblx0XHRoZWlnaHQ6IDkwcHg7XG5cdFx0Lmljb24taW1hZ2U6YmVmb3JlIHtcblx0XHRcdGZvbnQtc2l6ZTpyZW0tY2FsYygzMik7XG5cdFx0fVxuXHRcdC5pY29uLWltYWdlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZy1ib3R0b206NXB4O1xuXHRcdH1cblx0fVxuXHQudXBsb2FkLXByZXNjcmlwdGlvbi1pdGVtIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHdpZHRoOiAxMDBweDtcblx0XHRoZWlnaHQ6IDkwcHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1yaWdodDogJGdsb2JhbC1tYXJnaW47XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuXG5cdFx0I2pzZC1wcmVzY3JpcHRpb24tdXBsb2FkLWl0ZW0tdGV4dCB7XG5cdFx0XHR3b3JkLWJyZWFrOiBicmVhay1hbGwgIWltcG9ydGFudDtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcblx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHR9XG5cdFx0Lmljb24tdGltZXMtY2lyY2xlLW8ge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdFx0XHRib3R0b206IC0xNXB4O1xuXHRcdFx0cmlnaHQ6IC0xMHB4O1xuXG5cdFx0XHQmLmhhcy10aXAge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRib3JkZXI6bm9uZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuaWNvbi10aW1lcy1jaXJjbGUtbzpiZWZvcmUge1xuXHRcdFx0Zm9udC1zaXplOnJlbS1jYWxjKDI1KSAhaW1wb3J0YW50O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHR9XG5cdH1cbn1cbiIsIlxuLypyZW1vdGVlZGdpbmcgc3BlY2lhbCovXG5cbi8qaGlkZSBjb2xvclRhYnMgZm9yIHJlbW90ZWVkZ2luZyovXG4ucHJvZHVjdF92aWV3LnZpZXdfcmVtb3RlZWRnaW5nIHtcbiAgLkNPTE9STkFWR1JBRElFTlQsICAuQ09MT1JOQVZNSVJST1IsICAuaGlkZV9yZW1vdGVlZGdpbmcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcy5zaWRlLXJpZ2h0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiNsZW5zX2NvbG9yX2JveCAuZGVmYXVsdF9wcmljZSB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9wcmljZSB7XG4gIHBhZGRpbmc6IDAgMCA3cHggMDtcbn1cbiNsZW5zX2NvbG9yX2JveCAuYjI0X3NwZWNpYWxfcHJpY2Vfb2xkIHtcbiAgcGFkZGluZzogOHB4IDAgMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cbiNsZW5zX2NvbG9yX2JveCAucHJpY2VTdGVwMiAuYjI0X3NwZWNpYWxfcHJpY2Vfb2xkIHtcbiAgcGFkZGluZzogMTJweCAwIDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfcHJpY2VfYm94IC5kZWZhdWx0X3ByaWNlLFxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX3ByaWNlX2JveCAuYjI0X3NwZWNpYWxfcHJpY2Vfb2xke1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IHNtYWxsO1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9wcmljZV9ib3ggLnNwZWNpYWxfcHJpY2V7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZjUzYzM5O1xufVxuXG4vKiBDb2xvciBib3ggKi9cblxuLnZpZXdfZ2xhc3NlcyAjbGVuc19jb2xvcl9ib3gge1xuICBkaXNwbGF5OiBub25lO1xufVxuI3RlamFkb0dsYXNzZXMucHJlc2NyaXB0aW9uU3VuZ2xhc3NlcyAjbGVuc19jb2xvcl9ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMzBweCAwIDA7XG59XG4vKiBUQUJTICovXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFicyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcblxuICBodG1sOm5vdCgubW9iaWxlKSAme1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIH1cbn1cbiNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTBweCA5cHg7XG4gIG1hcmdpbjogMCAtNnB4IC0xcHggMDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuICAvL2JvcmRlci1ib3R0b206IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6Zmlyc3QtY2hpbGQsXG4gIGh0bWwubW9iaWxlICZ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7XG4gIH1cbiAgaHRtbC5tb2JpbGUgJntcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzAwMDtcbiAgfVxuXG59XG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX3RyYW5zaXRpb25zLFxuI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubGVuc19wb2xhcml6ZXIsXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX21pcnJvcixcbiNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmxlbnNfZ3JhZGllbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXY6aG92ZXIsXG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdjpmb2N1c3tcbiAgYmFja2dyb3VuZDogIzU1NTtcbn1cbiNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmlzLWFjdGl2ZSxcbiNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2OmFjdGl2ZSAge1xuICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xufVxuI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubmF2LW5vLXRpbnRpbmcuaXMtYWN0aXZlLFxuI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubmF2LW5vLXRpbnRpbmc6YWN0aXZlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDA7XG59XG4jbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFicyAudGFiIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xufVxuI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnMgLnRhYi5sZW5zX2NvbG9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKmFkZCBmZWF0dXJlIzUyNzggKi9cbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmxlbnNfdHJhbnNpdGlvbnMsXG5ib2R5Lmlzb2ZmaWNlbGVucyAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX3BvbGFyaXplcixcbmJvZHkuaXNvZmZpY2VsZW5zICNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmxlbnNfbWlycm9yLFxuYm9keS5pc29mZmljZWxlbnMgI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubGVuc19ncmFkaWVudCxcbmJvZHkuaXNyZWZpbmVtZW50X2FiYyAjbGVuc19jb2xvcl9ib3ggLmxlbnNfY29sb3JfdGFicyAudGFic19uYXYgLm5hdi5sZW5zX3RyYW5zaXRpb25zLFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmxlbnNfcG9sYXJpemVyLFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmxlbnNfbWlycm9yLFxuYm9keS5pc3JlZmluZW1lbnRfYWJjICNsZW5zX2NvbG9yX2JveCAubGVuc19jb2xvcl90YWJzIC50YWJzX25hdiAubmF2LmxlbnNfZ3JhZGllbnQge1xuICBvcGFjaXR5OiAwLjI7XG4gIGNvbG9yOiAjQ0NDQ0NDO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkuaXNvZmZpY2VsZW5zLCBib2R5LmlzcmVmaW5lbWVudF9hYmMge1xuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDYzMCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzA2NTAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wODUwLFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDgzMCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzAxODUsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wMTc1LFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDE1MCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzAxMzAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wMjg1LFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDI3NSxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzAyNTAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wMjMwLFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDMzMCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzAzNTAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wNzg1LFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDc3NSxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzA3NTAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wNzMwLFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDU4NSxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzA1NzUsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wNTUwLFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDUzMCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzA2MTAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wODEwLFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDMxMCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzAxMTAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wMjEwLFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDcxMCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzA1MTBcbiAge1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgICBjb2xvcjojQ0NDQ0NDO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbiAgfVxufVxuYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fc2luZ2xlVmlzaW9uLCBib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSB7XG4gIC8qXG4gIFsnMDAwMCcsJzAxMTAnLCcwMTMwJywnMDE1MCcsJzAxNzUnLCcwMTg1JyxcbiAgJzAyMTAnLCcwMjMwJywnMDI1MCcsJzAyNzUnLCcwMjg1JywnMDMxMCcsJzAzMzAnLCcwMzUwJywnMDUxMCcsJzA1MzAnLCcwNTUwJyxcbiAgJzA1NzUnLCcwNTg1JywnMDc3NScsJzA3ODUnLCcwMTk3JywnMDI5NycsJzAxOTgnLCcwMjk4JywnMDc5OCddO1xuICAqL1xuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDc1MCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzA3MzAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wNzEwLFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDE5OSxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzAyOTksXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wMTk0LFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDI5NCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzA4NTAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wODMwLFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDgxMCxcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmxjXzA2NTAsXG4gICYgI2xlbnNfY29sb3JfYm94IC5sY18wNjMwLFxuICAmICNsZW5zX2NvbG9yX2JveCAubGNfMDYxMFxuICB7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIGNvbG9yOiNDQ0NDQ0M7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubGVuc19ncmFkaWVudCxcbiAgI2xlbnNfY29sb3JfYm94IC5sZW5zX2NvbG9yX3RhYnMgLnRhYnNfbmF2IC5uYXYubGVuc19taXJyb3JcbiAge1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgICBjb2xvcjogI0NDQ0NDQztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG4gIH1cbiAgI2xlbnNfY29sb3JfYm94ICNMRU5TQ09MT1JfU1VOTU9USU9OLFxuICAjbGVuc19jb2xvcl9ib3ggI0xFTlNDT0xPUl9UUkFOU0lUSU9OWFRSQUNUSVZFIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn1cblxuZGl2LmluZGV4X2luZm9faGludCwgZGl2LmlzX3JlZmluZW1lbnRfYWJjX2hpbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuYm9keS5pc3JlZmluZW1lbnRfYWJjIHtcbiAgZGl2LmxlbnNfY29sb3Jfc3RhdGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBkaXYuaXNfcmVmaW5lbWVudF9hYmNfaGludCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnJlZmluZW1lbnRfaXRlbS5yZWZpbmVtZW50X2FiYyBkaXYuaW5kZXhfaW5mb19oaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5ib2R5LmlzcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZSxcbmJvZHkuaXNyZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiAge1xuXG4gIGRpdi5pc19yZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbl9oaW50LFxuICBkaXYuaXNfcmVmaW5lbWVudF9zZWlrb19wcm9ncmVzc2l2ZV9oaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucmVmaW5lbWVudF9pdGVtLnJlZmluZW1lbnRfc2Vpa29fcHJvZ3Jlc3NpdmUgZGl2LmluZGV4X2luZm9faGludCxcbiAgLnJlZmluZW1lbnRfaXRlbS5yZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbiBkaXYuaW5kZXhfaW5mb19oaW50ICB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG5cblxuXG4ubWlycm9yLWNvbG9ycyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbn1cbi5jb2xvci1pdGVtcyAuYnJhbmQge1xuICAvL2ZvbnQtc2l6ZTokZm9udC1zaXplLWJhc2U7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLyogT2huZSBUw7ZudW5nICovXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zLm5vbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiNsZW5zX2NvbG9yX2JveCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cbiNsZW5zX2NvbG9yX2JveCAuYm90dG9tIHtcbiAgLypcbm1hcmdpbjogMTVweCAtMjBweCAtMjBweCAtMjBweDtcblxudGV4dC1hbGlnbjogcmlnaHQ7XG5ib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiovXG4gIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4IDE1cHg7XG59XG4jbGVuc19jb2xvcl9ib3ggLmJvdHRvbSAubGVmdCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4jbGVuc19jb2xvcl9ib3ggLk9WRVJMQVlCT1gge1xuICAvL2NvbG9yOiAjMDAwO1xuICAvL3BhZGRpbmc6IDZweCAyMHB4IDVweCAwO1xufVxuLyogTGVuY29sb3IgbGVmdCovXG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMuc2lkZS1sZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAxNXB4IDAgNXB4IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaGVhZGxpbmUge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBtaW4td2lkdGg6IDYwcHg7XG4gIH1cbiAgbWluLXdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsb2F0OiBsZWZ0O1xufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAucm93LWNvbG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbn1cbiNsZW5zX2NvbG9yX2JveCAubGVuc19taXJyb3IgLmNvbG9yLWl0ZW1zIC5yb3ctY29sb3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5yb3ctY29sb3IgLmhlYWRsaW5lIHtcbiAgbWluLXdpZHRoOiA4NXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi10b3A6IDdweDtcbn1cbiNsZW5zX2NvbG9yX2JveCAubGVuc190cmFuc2l0aW9ucyAuY29sb3ItaXRlbXMgLnJvdy1jb2xvciB7XG4gIG1hcmdpbjogLTRweCAwIDAgMDtcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLnJvdy1jb2xvci5zY2FsZSAudmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogNDVweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDQ0NDQ0M7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBmbG9hdDogbGVmdDtcbiAgLmFsd2F5cy1lbmFibGVkLFxuICBoci5hbHdheXMtZW5hYmxlZHtcbiAgICBib3gtc2hhZG93OiBncmVlbiAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICB9XG4gIGhyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICAvKiY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL2dsYXNzZXNfbWFzay5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9Ki9cbiAgfVxuXG5cbiAgLmRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMDAwIGhyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4O1xufVxuXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAwMDA6bm90KC5pcy1hY3RpdmUpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNDFweDtcbiAgaGVpZ2h0OiAyN3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy90cmFuc2l0aW9uX2ltZy5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTVweCAtMzgycHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHotaW5kZXg6IDE7XG59XG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zLm5vbmUgLml0ZW0ge1xuICBjbGVhcjogYm90aDtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIFRyYW5zaXRpb25zICovXG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgLmNvbG9yLWl0ZW1zLnNpZGUtcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAuY29sb3ItaXRlbXMuc2lkZS1yaWdodCAuaGVhZGxpbmVfYW5pIHtcbiAgcGFkZGluZzogMCAwIDVweDtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyAuaGVhZGxpbmUtbG9uZyB7XG4gIG1heC13aWR0aDogNTMwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcy5ub25lIC5oZWFkbGluZS1sb25nIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgLmNvbG9yLWl0ZW1zIC5oZWFkbGluZS1sb25nIC5icmFuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjAwcHg7XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyAudXNwIHtcbiAgbWFyZ2luOiAxMHB4IDEwcHggMHB4IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogaW5pdGlhbDtcbiAgfVxufVxuI2xlbnNfY29sb3JfYm94IC5icmlsbGUyNF9zdW5tb3Rpb25uYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTI1cHg7XG4gIGhlaWdodDogNjBweDtcbn1cbiNsZW5zX2NvbG9yX2JveCAudHJhbnNpdGlvbnNuYW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTI1cHg7XG4gIGhlaWdodDogNjBweDtcbn1cbiNsZW5zX2NvbG9yX2JveCAubG9nbyBzcGFuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIHRyYW5zaXRpb24gYW5pbWF0aW9uICovXG4jdHJhbnNpdGlvbkFuaSB7XG4gIHdpZHRoOiAzMDBweDtcbn1cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3RyYW5zaXRpb25BbmkgLmJ0biB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHBhZGRpbmc6IDExcHggMjVweCA5cHggMjVweCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgLm5vVWktaGFuZGxlLm5vVWktaGFuZGxlLWxvd2VyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3RyYW5zaXRpb25BbmkgLnRyYW5zaXRpb25JY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW46IDAgMThweCAwIDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL3RyYW5zaXRpb25faW1nLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDRweCAtMzcxcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICN0cmFuc2l0aW9uQW5pIC50cmFuc2l0aW9uSWNvbi5zdW5ueSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luOiAwIDAgMCA4cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL3RyYW5zaXRpb25faW1nLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC00NXB4IC0zNzJweDtcbn1cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3RyYW5zaXRpb25BbmkgLnNsaWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0MnB4O1xuICBoZWlnaHQ6IDI1cHg7XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICN0cmFuc2l0aW9uQW5pIC50cmFuc2l0aW9uSW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMTgwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvZ2xhc3Nlcy9sZW5zY29sb3JzL3RyYW5zaXRpb25faW1nLnBuZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICN0cmFuc2l0aW9uQW5pIC50cmFuc2l0aW9uSW1nIC5nbGFzcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMHB4O1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDMwMHB4O1xuICBoZWlnaHQ6IDE4MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy90cmFuc2l0aW9uX2ltZy5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xODBweDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwKTtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIHBvbGFyaXplciBhbmltYXRpb24gKi9cblxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAuY29sb3ItaXRlbXMuc2lkZS1yaWdodCAjcG9sYXJpemVyQW5pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICNwb2xhcml6ZXJBbmkgLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEzNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDVweCAwIDRweCAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzICNwb2xhcml6ZXJBbmkgLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMCAtNXB4IDAgMDtcbn1cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3BvbGFyaXplckFuaSAuYnRuLm9mZiB7XG4gIHdpZHRoOiAxNjVweDtcbn1cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3BvbGFyaXplckFuaSAuYnRuLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAjcG9sYXJpemVyQW5pIC5wb2xhcml6ZXJJbWcsXG4jcGFuZWwxYywgI3BhbmVsMmN7XG4gIHdpZHRoOiAyOTVweDtcbiAgaGVpZ2h0OiAxODBweDtcbn1cbiNwYW5lbDFjIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvcG9sYXJpemVyX2ltZy5qcGcpO1xufVxuI3BhbmVsMmMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xODBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvcG9sYXJpemVyX2ltZy5qcGcpO1xufVxuXG4jbGVuc19jb2xvcl9ib3ggI2RlZ3JhZGllckFuaSAuZGVncmFkaWVySW1nIHtcbiAgd2lkdGg6IDI5OHB4O1xuICBoZWlnaHQ6IDE4MHB4O1xuICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9zYW1wbGUtZ3JhZGllbnQtYnJvd24uanBnKTtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvZ3JhZGllbnQvc2FtcGxlLWdyYWRpZW50LWJyb3duLmpwZykgMHB4IGNlbnRlcjtcbiAgPmRpdntcbiAgICAmLm1pcnJvci0wMTk2e1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvZ3JhZGllbnQvc2FtcGxlLWdyYWRpZW50LWJyb3duLmpwZykgMHB4IGNlbnRlcjtcbiAgICB9XG4gICAgJi5taXJyb3ItMDI5NiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9ncmFkaWVudC9zYW1wbGUtZ3JhZGllbnQtZ3JheS5qcGcpIDBweCBjZW50ZXI7XG4gICAgfVxuICAgICYubWlycm9yLTA3OTYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvZ3JhZGllbnQvc2FtcGxlLWdyYWRpZW50LWdyZWVuLmpwZykgMHB4IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgI3BvbGFyaXplckFuaSAucG9sYXJpemVySW1nLnBvbGFyaXplck9mZiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE4MHB4O1xufVxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAuY29sb3ItaXRlbXMgYS5pbmZvX3RyYW5zaXRpb25zLCAjbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyBhLmluZm9fcG9sYXJpemVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyOThweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbjogMTBweCAwIDAgMDtcbn1cbi8qIGdyYWRpZW50L21pcnJvciBpbWFnZXMgb24gY2xpY2sgKi9cblxuLyogZGVmYXVsdCAqL1xuLnNwZWNpYWxfY29sb3JzIC5zaG93bGVuc2NvbG9yMDI5Nixcbi5zcGVjaWFsX2NvbG9ycyAuc2hvd2xlbnNjb2xvcjA3OTYsXG4uc3BlY2lhbF9jb2xvcnMgLnNob3dsZW5zY29sb3IxMDk1LFxuLnNwZWNpYWxfY29sb3JzIC5zaG93bGVuc2NvbG9yMTE5NSxcbi5zcGVjaWFsX2NvbG9ycyAuc2hvd2xlbnNjb2xvcjEyOTUsXG4uc3BlY2lhbF9jb2xvcnMgLnNob3dsZW5zY29sb3IxMzk1e1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogaGlkZSBkZWZhdWx0IGlmIG90aGVyIGNvbG9yIHNlbGVjdGVkKi9cbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IwMjk2IC5zaG93bGVuc2NvbG9yMDE5NixcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IwNzk2IC5zaG93bGVuc2NvbG9yMDE5NixcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMDk1IC5zaG93bGVuc2NvbG9yMDk5NSxcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMTk1IC5zaG93bGVuc2NvbG9yMDk5NSxcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMjk1IC5zaG93bGVuc2NvbG9yMDk5NSxcbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IxMzk1IC5zaG93bGVuc2NvbG9yMDk5NSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBzaG93IG90aGVyIGhlYWRsaW5lcyAqL1xuI2xlbnNfY29sb3JfYm94LmxlbnNjb2xvcjAyOTYgLnNob3dsZW5zY29sb3IwMjk2LFxuI2xlbnNfY29sb3JfYm94LmxlbnNjb2xvcjA3OTYgLnNob3dsZW5zY29sb3IwNzk2LFxuI2xlbnNfY29sb3JfYm94LmxlbnNjb2xvcjEwOTUgLnNob3dsZW5zY29sb3IxMDk1LFxuI2xlbnNfY29sb3JfYm94LmxlbnNjb2xvcjExOTUgLnNob3dsZW5zY29sb3IxMTk1LFxuI2xlbnNfY29sb3JfYm94LmxlbnNjb2xvcjEyOTUgLnNob3dsZW5zY29sb3IxMjk1LFxuI2xlbnNfY29sb3JfYm94LmxlbnNjb2xvcjEzOTUgLnNob3dsZW5zY29sb3IxMzk1IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKiBpbWFnZSAqL1xuI2xlbnNfY29sb3JfYm94IC5pbWFnZV9hbmkge1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMjA5cHg7XG59XG4vKiBzdGFuZGFyZC9icm93biBncmFkaWVudCAqL1xuI2xlbnNfY29sb3JfYm94IC5pbWFnZV9hbmkuZ3JhZGllbnRMZW5zIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvZ3JhZGllbnRfaW1nLmpwZyk7XG59XG4vKiBncmV5IGdyYWRpZW50Ki9cbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IwMjk2IC5pbWFnZV9hbmkuZ3JhZGllbnRMZW5zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjA5cHg7XG59XG4vKiBwaWxvdGdyZWVuIGdyYWRpZW50Ki9cbiNsZW5zX2NvbG9yX2JveC5sZW5zY29sb3IwNzk2IC5pbWFnZV9hbmkuZ3JhZGllbnRMZW5zIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDE4cHg7XG59XG4vKiBzdGFuZGFyZC9nb2xkIG1pcnJvciAqL1xuI2xlbnNfY29sb3JfYm94IC5pbWFnZV9hbmkubWlycm9yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvbWlycm9yX2ltZy5qcGcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0wO1xufVxuLyogZ3JleSBtaXJybyovXG4jbGVuc19jb2xvcl9ib3gubGVuc2NvbG9yMTA5NSAuaW1hZ2VfYW5pLm1pcnJvciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOXB4O1xufVxuLyogcGlsb3RncmVlbiBtaXJyb3IqL1xuXG4jbGVuc19jb2xvcl9ib3gubGVuc2NvbG9yMTE5NSAuaW1hZ2VfYW5pLm1pcnJvciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQxOHB4O1xufVxuLyogYmx1ZSBtaXJyb3IqL1xuXG4jbGVuc19jb2xvcl9ib3gubGVuc2NvbG9yMTI5NSAuaW1hZ2VfYW5pLm1pcnJvciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYyN3B4O1xufVxuXG4jbGVuc19jb2xvcl9ib3gubGVuc2NvbG9yMTM5NSAuaW1hZ2VfYW5pLm1pcnJvciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgzNnB4O1xufVxuXG4jbGVuc19jb2xvcl9ib3ggLmltYWdlX2FuaS5ncmFkaWVudExlbnMgYSwgI2xlbnNfY29sb3JfYm94IC5pbWFnZV9hbmkubWlycm9yIGEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA4cHg7XG4gIGJvdHRvbTogNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxcHggIzAwMCwgMCAwIDFweCAjMDAwLCAwIDAgM3B4ICMwMDAsIDAgMCAzcHggIzAwMDtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyB7XG4gIC5oZWFkbGluZS1sb25nLnByaWNlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgcmlnaHQ6IDE2MHB4O1xuICAgIG1hcmdpbjogMnB4IDAgMCAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG59XG5cbiNsZW5zX2NvbG9yX2JveCAuc3BlY2lhbF9jb2xvcnMgLmNvbG9yLWl0ZW1zIC5oZWFkbGluZS1sb25nIC5wcmljZS5wcmljZVN0ZXAxIHtcbiAgY29sb3I6ICMwMDA7XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyAuaGVhZGxpbmUtbG9uZyAucHJpY2UucHJpY2VTdGVwMiB7XG4gIGNvbG9yOiAjMDAwO1xufVxuI2xlbnNfY29sb3JfYm94IC5zcGVjaWFsX2NvbG9ycyAuY29sb3ItaXRlbXMgLmhlYWRsaW5lLWxvbmcgLnByaWNlIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI2NXB4O1xuICByaWdodDogMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDIycHggMCAwIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4jbGVuc19jb2xvcl9ib3ggLnNwZWNpYWxfY29sb3JzIC5jb2xvci1pdGVtcyAuc3BlY2lhbC1pdGVtIHtcbiAgd2lkdGg6IDgwcHg7XG59XG5ib2R5Lmlzb2ZmaWNlbGVucywgYm9keS5pc3JlZmluZW1lbnRfYWJjIHtcbiAgJiAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA2MTAgaHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEUwNDA7XG4gIH1cbiAgJiAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA4MTAgaHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMDgyODI7XG4gIH1cbiAgJiAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAzMTAgaHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0RDk5RUE7XG4gIH1cbiAgJiAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAxMTAgaHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NTRGNDA7XG4gIH1cbiAgJiAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAyMTAgaHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2QjZFNzc7XG4gIH1cbiAgJiAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA3MTAgaHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MjgxNzc7XG4gIH1cbiAgJiAjbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzA1MTAgaHIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1QkEwNjg7XG4gIH1cbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDYxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA2MTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDYxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY1QkZcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDYzMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA2MzAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDYzMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMEVBODBcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDY1MCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA2NTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDY1MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFOEUwNDBcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDgxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA4MTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDgxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUQ1RDVcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDgzMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA4MzAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDgzMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQUFDQUNcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDg1MCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA4NTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDg1MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMDgyODJcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDMxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAzMTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDMxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDNERERjhcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDMzMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAzMzAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDMzMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4OEJCRjFcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDM1MCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAzNTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDM1MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0RDk5RUFcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDUxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA1MTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDUxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOERGQ0Ncbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDUzMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA1MzAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDUzMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MkMwOUFcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDU1MCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA1NTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDU1MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1QkEwNjhcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDU3NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA1NzUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDU3NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNDgwMzVcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDU4NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA1ODUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDU4NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDc0M0Rcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDcxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA3MTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDcxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQUQ1RDJcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDczMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA3MzAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDczMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NkFCQTRcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDc1MCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA3NTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDc1MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2MjgxNzdcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDc3NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA3NzUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDc3NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRDU3NEFcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDc4NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA3ODUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDc4NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzUxNDhcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDIxMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyMTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDIxMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDRUNFRDJcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDIzMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyMzAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDIzMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5QzlFQTRcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDI1MCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyNTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDI1MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2QjZFNzdcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDI3NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyNzUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDI3NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzQTNENEFcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDI4NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyODUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDI4NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDQxNDRcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDI5OSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyOTksXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDI5OSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDQxNDRcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDExMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAxMTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDExMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEMUM0QkZcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDEzMCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAxMzAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDEzMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBMzhBODBcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDE1MCBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAxNTAsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDE1MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NTRGNDBcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDE3NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAxNzUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDE3NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NzE0MDBcbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDE4NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAxODUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDE4NSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MzE2MDRcbn1cblxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTk2IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDE5Nixcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTk2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzMTYwNFxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTk5IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDE5OSxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTk5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzMTYwNFxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTk4IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDE5OCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTk4IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzMTYwNFxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTk3IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDE5Nyxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTk3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzMTYwNFxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTk0IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDE5NCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTk0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQzMTYwNFxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMjk3IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDI5Nyxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMjk3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDE0NFxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMjk0IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDI5NCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMjk0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDE0NFxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMjk4IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDI5OCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wMjk4IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDE0NFxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wNzk4IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDc5OCxcbi5zcXVhcmVTZWxlY3RlZC5sY18wNzk4IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzNTE0OFxufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wOTk1IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDk5NSxcbi5zcXVhcmVTZWxlY3RlZC5sY18wOTk1e1xuICBiYWNrZ3JvdW5kOiByZ2IoMjUwLDI1MiwxNzApOyAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZmVmZWI0IDAlLCAjOGM3YjBmIDUwJSwgIzNkMzUwNCAxMDAlKTsgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBib3R0b20gdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoOSUsIHJnYmEoMjUwLDI1MiwxNzAsMSkpLCBjb2xvci1zdG9wKDI3JSwgcmdiYSgyMDQsMTkyLDM2LDEpKSwgY29sb3Itc3RvcCg0NiUsIHJnYmEoNTksNTAsNCwxKSksIGNvbG9yLXN0b3AoNTYlLCByZ2JhKDI1MCwyNTIsMTcwLDEpKSwgY29sb3Itc3RvcCg3MyUsIHJnYmEoMjA0LDE5MiwzNiwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSg1OSw1MCw0LDEpKSk7IC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sICAjZmVmZWI0IDAlLCAjOGM3YjBmIDUwJSwgIzNkMzUwNCAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgICNmZWZlYjQgMCUsICM4YzdiMGYgNTAlLCAjM2QzNTA0IDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChib3R0b20sICAjZmVmZWI0IDAlLCAjOGM3YjBmIDUwJSwgIzNkMzUwNCAxMDAlKTsgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZlZmViNCAwJSwgIzhjN2IwZiA1MCUsICMzZDM1MDQgMTAwJSk7IC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2ZhZmNhYScsIGVuZENvbG9yc3RyPScjM2IzMjA0JywgR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMTA5NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzEwOTUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMTA5NXtcbiAgYmFja2dyb3VuZDogcmdiKDIxOSwyMzAsMjMwKTsgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2ZmZmZmZiAwJSwgIzMyMzIzMiAxMDAlKTsgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsICNmZmZmZmYpLCBjb2xvci1zdG9wKDAlLCAjZmZmZmZmKSwgY29sb3Itc3RvcCgxMDAlLCAjMzIzMjMyKSk7IC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sICNmZmZmZmYgMCUsICMzMjMyMzIgMTAwJSApOyAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZmZmZmZmIDAlLCAjMzIzMjMyIDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChib3R0b20sICNmZmZmZmYgMCUsICMzMjMyMzIgMTAwJSk7IC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZmYgMCUsICMzMjMyMzIgMTAwJSk7IC8qIFczQyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2RiZTZlNicsIGVuZENvbG9yc3RyPScjNTk1ZTVmJywgR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMTE5NSBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzExOTUsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMTE5NSB7XG4gIGJhY2tncm91bmQ6IHJnYigxNjUsMjUyLDIyOCk7IC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sICAjYWRmZWVmIDAlLCAjMDA4MTgyIDUwJSwgIzAwNDc2ZiAxMDAlKTsgLyogRkYzLjYrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCAjYWRmZWVmKSwgY29sb3Itc3RvcCg1MCUsICMwMDgxODIpLCBjb2xvci1zdG9wKDEwMCUsICMwMDQ3NmYpKTsgLyogQ2hyb21lLFNhZmFyaTQrICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgICNhZGZlZWYgMCUsICMwMDgxODIgNTAlLCAjMDA0NzZmIDEwMCUpOyAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAgI2FkZmVlZiAwJSwgIzAwODE4MiA1MCUsICMwMDQ3NmYgMTAwJSk7IC8qIE9wZXJhIDExLjEwKyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgICNhZGZlZWYgMCUsICMwMDgxODIgNTAlLCAjMDA0NzZmIDEwMCUpOyAvKiBJRTEwKyAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYWRmZWVmIDAlLCAjMDA4MTgyIDUwJSwgIzAwNDc2ZiAxMDAlKTsgLyogVzNDICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjYTVmY2U0JywgZW5kQ29sb3JzdHI9JyMwMDg1OTgnLCBHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xufVxuI2xlbnNfY29sb3JfYm94IC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMTk2IGhyLCAuY2F0YWxvZy1wcm9kdWN0LXZpZXcgLmxlbnNfY29sb3Jfc3RhdGUgaHIubGNfMDE5Nixcbi5zcXVhcmVTZWxlY3RlZC5sY18wMTk2IHtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDY3LDIyLDQsMSkgMCUsIHJnYmEoNjcsMjIsNCwwLjgpIDUwJSwgcmdiYSg2NywyMiw0LDAuMikgMTAwJSk7IC8qIEZGMy42KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDY3LDIyLDQsMSkpLCBjb2xvci1zdG9wKDUwJSwgcmdiYSg2NywyMiw0LDAuOCkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoNjcsMjIsNCwwLjIpKSk7IC8qIENocm9tZSxTYWZhcmk0KyAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoNjcsMjIsNCwxKSAwJSwgcmdiYSg2NywyMiw0LDAuOCkgNTAlLCByZ2JhKDY3LDIyLDQsMC4yKSAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSg2NywyMiw0LDEpIDAlLCByZ2JhKDY3LDIyLDQsMC44KSA1MCUsIHJnYmEoNjcsMjIsNCwwLjIpIDEwMCUpOyAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoNjcsMjIsNCwxKSAwJSwgcmdiYSg2NywyMiw0LDAuOCkgNTAlLCByZ2JhKDY3LDIyLDQsMC4yKSAxMDAlKTsgLyogSUUxMCsgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSg2NywyMiw0LDEpIDAlLCByZ2JhKDY3LDIyLDQsMC44KSA1MCUsIHJnYmEoNjcsMjIsNCwwLjIpIDEwMCUpOyAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0MzE2MDQnLCBlbmRDb2xvcnN0cj0nIzMzNDMxNjA0JywgR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbn1cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDI5NiBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzAyOTYsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDI5NiB7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSg2NCw2NSw2OCwxKSAwJSwgcmdiYSg2NCw2NSw2OCwwLjgpIDUwJSwgcmdiYSg2NCw2NSw2OCwwLjIpIDEwMCUpOyAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSg2NCw2NSw2OCwxKSksIGNvbG9yLXN0b3AoNTAlLCByZ2JhKDY0LDY1LDY4LDAuOCkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoNjQsNjUsNjgsMC4yKSkpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDY0LDY1LDY4LDEpIDAlLCByZ2JhKDY0LDY1LDY4LDAuOCkgNTAlLCByZ2JhKDY0LDY1LDY4LDAuMikgMTAwJSk7IC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoNjQsNjUsNjgsMSkgMCUsIHJnYmEoNjQsNjUsNjgsMC44KSA1MCUsIHJnYmEoNjQsNjUsNjgsMC4yKSAxMDAlKTsgLyogT3BlcmEgMTEuMTArICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDY0LDY1LDY4LDEpIDAlLCByZ2JhKDY0LDY1LDY4LDAuOCkgNTAlLCByZ2JhKDY0LDY1LDY4LDAuMikgMTAwJSk7IC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoNjQsNjUsNjgsMSkgMCUsIHJnYmEoNjQsNjUsNjgsMC44KSA1MCUsIHJnYmEoNjQsNjUsNjgsMC4yKSAxMDAlKTsgLyogVzNDICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjNDA0MTQ0JywgZW5kQ29sb3JzdHI9JyMzMzQwNDE0NCcsIEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXG59XG5cbiNsZW5zX2NvbG9yX2JveCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDc5NiBociwgLmNhdGFsb2ctcHJvZHVjdC12aWV3IC5sZW5zX2NvbG9yX3N0YXRlIGhyLmxjXzA3OTYsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDc5NiB7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSg1MSw4MSw3MiwxKSAwJSwgcmdiYSg1MSw4MSw3MiwwLjgpIDUwJSwgcmdiYSg1MSw4MSw3MiwwLjIpIDEwMCUpOyAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSg1MSw4MSw3MiwxKSksIGNvbG9yLXN0b3AoNTAlLCByZ2JhKDUxLDgxLDcyLDAuOCkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoNTEsODEsNzIsMC4yKSkpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDUxLDgxLDcyLDEpIDAlLCByZ2JhKDUxLDgxLDcyLDAuOCkgNTAlLCByZ2JhKDUxLDgxLDcyLDAuMikgMTAwJSk7IC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoNTEsODEsNzIsMSkgMCUsIHJnYmEoNTEsODEsNzIsMC44KSA1MCUsIHJnYmEoNTEsODEsNzIsMC4yKSAxMDAlKTsgLyogT3BlcmEgMTEuMTArICovXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDUxLDgxLDcyLDEpIDAlLCByZ2JhKDUxLDgxLDcyLDAuOCkgNTAlLCByZ2JhKDUxLDgxLDcyLDAuMikgMTAwJSk7IC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoNTEsODEsNzIsMSkgMCUsIHJnYmEoNTEsODEsNzIsMC44KSA1MCUsIHJnYmEoNTEsODEsNzIsMC4yKSAxMDAlKTsgLyogVzNDICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMzM1MTQ4JywgZW5kQ29sb3JzdHI9JyMzMzMzNTE0OCcsIEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXG59XG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzEyOTUgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18xMjk1LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzEyOTUge1xuICBiYWNrZ3JvdW5kOiByZ2IoOTYsMjE4LDIyNik7IC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sICM0N2I0ZDAgMCUsICMyMDU1OTIgNTAlLCAjMTQyNTZmIDEwMCUpOyAvKiBGRjMuNisgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCUsICM0N2I0ZDApLCBjb2xvci1zdG9wKDUwJSwgIzIwNTU5MiksIGNvbG9yLXN0b3AoMTAwJSwgIzE0MjU2ZikpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjNDdiNGQwIDAlLCAjMjA1NTkyIDUwJSwgIzE0MjU2ZiAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgIzQ3YjRkMCAwJSwgIzIwNTU5MiA1MCUsICMxNDI1NmYgMTAwJSk7IC8qIE9wZXJhIDExLjEwKyAqL1xuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgIzQ3YjRkMCAwJSwgIzIwNTU5MiA1MCUsICMxNDI1NmYgMTAwJSk7IC8qIElFMTArICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0N2I0ZDAgMCUsICMyMDU1OTIgNTAlLCAjMTQyNTZmIDEwMCUpOyAvKiBXM0MgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM2MGRhZTInLCBlbmRDb2xvcnN0cj0nIzYwZGFlMicsIEdyYWRpZW50VHlwZT0xICk7XG59XG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzEzOTUgaHIsIC5jYXRhbG9nLXByb2R1Y3QtdmlldyAubGVuc19jb2xvcl9zdGF0ZSBoci5sY18xMzk1LFxuLnNxdWFyZVNlbGVjdGVkLmxjXzEzOTUge1xuICBiYWNrZ3JvdW5kOiAjZmY5YzA3O1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sICNmNzlmOWYgMCUsICNiNzRiNGIgNTAlLCAjN2IyMjIyIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSwgI2Y3OWY5ZiksIGNvbG9yLXN0b3AoNTAlLCAjYjc0YjRiKSwgY29sb3Itc3RvcCgxMDAlLCAjN2IyMjIyKSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2Y3OWY5ZiAwJSwgI2I3NGI0YiA1MCUsICM3YjIyMjIgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sICNmNzlmOWYgMCUsICNiNzRiNGIgNTAlLCAjN2IyMjIyIDEwMCUpO1xuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2Y3OWY5ZiAwJSwgI2I3NGI0YiA1MCUsICM3YjIyMjIgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmNzlmOWYgMCUsICNiNzRiNGIgNTAlLCAjN2IyMjIyIDEwMCUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmY5YzA3JywgZW5kQ29sb3JzdHI9JyNmZjA0MDQnLCBHcmFkaWVudFR5cGU9MSk7XG59XG5cbiNsZW5zLXRpbnRpbmctZGVncmFkZWQgLmNvbG9yLWl0ZW1zIC5pdGVtLmxjXzAxOTggaHIsXG4uc3F1YXJlU2VsZWN0ZWQubGNfMDE5OCB7XG4gIGJhY2tncm91bmQ6ICM0MzE2MDQ7IC8qIE9sZCBicm93c2VycyAqL1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICM0MzE2MDQgMCUsICM0MzE2MDQgOSUsICMyYjJiMmIgMjQlLCAjMTExMTExIDQwJSwgIzAwMDAwMCA0OSUsICMyYzJjMmMgNTAlLCAjNDc0NzQ3IDYxJSwgIzY2NjY2NiA3NSUsICM1OTU5NTkgODglLCAjMzMzMzMzIDk3JSwgIzg3ODc4NyA5OSUpOyAvKiBGRjMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICM0MzE2MDQgMCUsIzQzMTYwNCA5JSwjMmIyYjJiIDI0JSwjMTExMTExIDQwJSwjMDAwMDAwIDQ5JSwjMmMyYzJjIDUwJSwjNDc0NzQ3IDYxJSwjNjY2NjY2IDc1JSwjNTk1OTU5IDg4JSwjMzMzMzMzIDk3JSwjODc4Nzg3IDk5JSk7IC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0MzE2MDQgMCUsIzQzMTYwNCA5JSwjMmIyYjJiIDI0JSwjMTExMTExIDQwJSwjMDAwMDAwIDQ5JSwjMmMyYzJjIDUwJSwjNDc0NzQ3IDYxJSwjNjY2NjY2IDc1JSwjNTk1OTU5IDg4JSwjMzMzMzMzIDk3JSwjODc4Nzg3IDk5JSk7IC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzQzMTYwNCcsIGVuZENvbG9yc3RyPScjODc4Nzg3JyxHcmFkaWVudFR5cGU9MCApO1xufVxuXG4jbGVucy10aW50aW5nLWRlZ3JhZGVkIC5jb2xvci1pdGVtcyAuaXRlbS5sY18wMjk4IGhyLFxuLnNxdWFyZVNlbGVjdGVkLmxjXzAxOTgge1xuICBiYWNrZ3JvdW5kOiAjNDA0MTQ0OyAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjNDA0MTQ0IDAlLCAjNDMxNjA0IDklLCAjMmIyYjJiIDI0JSwgIzExMTExMSA0MCUsICMwMDAwMDAgNDklLCAjMmMyYzJjIDUwJSwgIzQ3NDc0NyA2MSUsICM2NjY2NjYgNzUlLCAjNTk1OTU5IDg4JSwgIzMzMzMzMyA5NyUsICM4Nzg3ODcgOTklKTsgLyogRkYzLjYtMTUgKi9cbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNDA0MTQ0IDAlLCM0MzE2MDQgOSUsIzJiMmIyYiAyNCUsIzExMTExMSA0MCUsIzAwMDAwMCA0OSUsIzJjMmMyYyA1MCUsIzQ3NDc0NyA2MSUsIzY2NjY2NiA3NSUsIzU5NTk1OSA4OCUsIzMzMzMzMyA5NyUsIzg3ODc4NyA5OSUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNDA0MTQ0IDAlLCM0MzE2MDQgOSUsIzJiMmIyYiAyNCUsIzExMTExMSA0MCUsIzAwMDAwMCA0OSUsIzJjMmMyYyA1MCUsIzQ3NDc0NyA2MSUsIzY2NjY2NiA3NSUsIzU5NTk1OSA4OCUsIzMzMzMzMyA5NyUsIzg3ODc4NyA5OSUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0MDQxNDQnLCBlbmRDb2xvcnN0cj0nIzg3ODc4NycsR3JhZGllbnRUeXBlPTAgKTtcbn1cblxuI2xlbnMtdGludGluZy1kZWdyYWRlZCAuY29sb3ItaXRlbXMgLml0ZW0ubGNfMDc5OCBocixcbi5zcXVhcmVTZWxlY3RlZC5sY18wNzk4IHtcbiAgYmFja2dyb3VuZDogIzMzNTE0ODsgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzMzNTE0OCAwJSwgIzQzMTYwNCA5JSwgIzJiMmIyYiAyNCUsICMxMTExMTEgNDAlLCAjMDAwMDAwIDQ5JSwgIzJjMmMyYyA1MCUsICM0NzQ3NDcgNjElLCAjNjY2NjY2IDc1JSwgIzU5NTk1OSA4OCUsICMzMzMzMzMgOTclLCAjODc4Nzg3IDk5JSk7IC8qIEZGMy42LTE1ICovXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzMzNTE0OCAwJSwjNDMxNjA0IDklLCMyYjJiMmIgMjQlLCMxMTExMTEgNDAlLCMwMDAwMDAgNDklLCMyYzJjMmMgNTAlLCM0NzQ3NDcgNjElLCM2NjY2NjYgNzUlLCM1OTU5NTkgODglLCMzMzMzMzMgOTclLCM4Nzg3ODcgOTklKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzMzNTE0OCAwJSwjNDMxNjA0IDklLCMyYjJiMmIgMjQlLCMxMTExMTEgNDAlLCMwMDAwMDAgNDklLCMyYzJjMmMgNTAlLCM0NzQ3NDcgNjElLCM2NjY2NjYgNzUlLCM1OTU5NTkgODglLCMzMzMzMzMgOTclLCM4Nzg3ODcgOTklKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMzM1MTQ4JywgZW5kQ29sb3JzdHI9JyM4Nzg3ODcnLEdyYWRpZW50VHlwZT0wICk7XG59XG5cblxuYm9keS5pbmRleDE2MHtcbiAgLmhpZGVGb3JJbmRleDE2MHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5zaG93Rm9ySW5kZXgxNjB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbmJvZHkuaW5kZXgxNjd7XG4gIC5oaWRlRm9ySW5kZXgxNjd7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAuc2hvd0ZvckluZGV4MTY3e1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5ib2R5LmluZGV4MTc0e1xuICAuaGlkZUZvckluZGV4MTc0e1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnNob3dGb3JJbmRleDE3NHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuYm9keS5pc3JlZmluZW1lbnRfc2Vpa29fc2luZ2xlVmlzaW9uIC5oaWRlSXNSZWZpbmVtZW50X3NlaWtvX3NpbmdsZVZpc2lvbntcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4jbGVucy10aW50aW5nLW5vdGludGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnRhYnMtdGl0bGUge1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgbWF4LXdpZHRoOiAxNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIGhyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmVlbiAhaW1wb3J0YW50O1xuICB9XG4gIC50YWJCdWxsZXRzIHtcbiAgICBsZWZ0OiAxcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4jbGVucy10aW50aW5nLWRlZ3JhZGVkLFxuI2xlbnMtdGludGluZy1jb2xvcmVkLFxuI2xlbnMtdGludGluZy1taXJyb3IsXG4jbGVucy10aW50aW5nLXBob3RvY2hyb21pYyxcbiNsZW5zLXRpbnRpbmctcG9sYXJpemVkLFxuI2xlbnMtdGludGluZy1jb2xvcmVke1xuICA+ZGl2LmdyaWQteHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgfVxuICAuc2Vjb25kQ29sdW1ue1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbiNsZW5zLXRpbnRpbmctcG9sYXJpemVkLFxuI2xlbnMtdGludGluZy1taXJyb3IsXG4jbGVucy10aW50aW5nLXBob3RvY2hyb21pYyxcbiNsZW5zLXRpbnRpbmctZGVncmFkZWQsXG4jbGVucy10aW50aW5nLWRlZ3JhZGVkLFxuI2xlbnMtdGludGluZy1jb2xvcmVkIHtcbiAgaDUsIGg2LCBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuI2xlbnNfY29sb3JfYm94e1xuICAvKmRpc2FibGVkIG9wdGlvbnMqL1xuICAuaXRlbS5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAuaXRlbS5kaXNhYmxlZDpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbW9vblwiO1xuICAgIGNvbG9yOiByZWQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29udGVudDogXCJcXGYwNWVcIjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgdG9wOiA0cHg7XG4gIH1cblxuICAjbGVucy10aW50aW5nLXRhYnN7XG4gICAgLnRhYnMtdGl0bGV7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czo1cHggNXB4IDBweCAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRUFFQTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYTpub3Qoc3Bhbi50YWItdGl0bGUtaGVhZGluZyl7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggcmdiYSgwLDAsMCwwLjIpLGluc2V0IDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgPi5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSxcbiAgICAgID4uYWNjb3JkaW9uLXRpdGxlOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRhYnMtdGl0bGUuaXMtYWN0aXZle1xuICAgICAgYm9yZGVyLXJhZGl1czo1cHggNXB4IDBweCAwcHg7XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjM0Q3MEIyO1xuICAgICAgICAgICAgcGFkZGluZzogMC4wNjI1cmVtIDAuMTI1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5zcGFuLmxpbmstYm9yZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI2xlbnMtdGludGluZy1jb2xvcmVkIHtcbiAgLmxlbnNfY29sb3I+ZGl2IHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMTBweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbiAgLnNlY29uZENvbHVtbiB7XG4gICAgcGFkZGluZzogMHB4IDAgMTBweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGJvcmRlci10b3A6ICNlYmViZWIgMnB4IHNvbGlkO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgPmRpdiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29sb3ItaXRlbXMgLmhlYWRsaW5lIHtcbiAgICBtaW4td2lkdGg6IDY0cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICB9XG4gIH1cblxufVxuXG5cbiNsZW5zLXRpbnRpbmctbWlycm9yIC5zZWNvbmRDb2x1bW4sXG4jbGVucy10aW50aW5nLWRlZ3JhZGVkIC5zZWNvbmRDb2x1bW4sXG4jbGVucy10aW50aW5nLWNvbG9yZWQgLnNlY29uZENvbHVtbntcbiAgd2lkdGg6IDMwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiNsZW5zLXRpbnRpbmctZGVncmFkZWQgI2RlZ3JhZGllckFuaSxcbiNsZW5zLXRpbnRpbmctbWlycm9yIC5taXJyb3JpbWFnZSxcbiNsZW5zLXRpbnRpbmctcG9sYXJpemVkIC50ZXN0aW5nLXBvbGFyaXplZHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogaW5pdGlhbDtcbiAgfVxufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4jbGVucy10aW50aW5nLXBob3RvY2hyb21pYyB7XG4gICNMRU5TQ09MT1JfU1VOTU9USU9OLFxuICAjTEVOU0NPTE9SX1RSQU5TSVRJT05TSUdOQVRVUkV7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4ICNjY2Mgc29saWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC40cmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAuc2Vjb25kQ29sdW1uIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cblxuICAuaXRlbSB7XG4gICAgaHIge1xuICAgICAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbiNMRU5TQ09MT1JfU1VOTU9USU9OLFxuI0xFTlNDT0xPUl9UUkFOU0lUSU9OU0lHTkFUVVJFLFxuI0xFTlNDT0xPUl9UUkFOU0lUSU9OWFRSQUNUSVZFIHtcbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIHAge1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudC1icmFuZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMXJlbSAwcmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgfVxuXG4gIH1cbn1cblxuI0xFTlNDT0xPUl9TVU5NT1RJT04gLmJyYW5kIHtcbiAgQGluY2x1ZGUgYnJhbmRzKFwibG9nb3NfdHJhbnNpdGlvblwiKTtcbiAgLmluZm9MaW5rIHtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogNXB4O1xuICB9XG59XG5cbiNMRU5TQ09MT1JfVFJBTlNJVElPTlNJR05BVFVSRSAuYnJhbmQge1xuICBAaW5jbHVkZSBicmFuZHMoXCJsb2dvc19wcmVtaXVtXCIsIDBweCwgMHB4LCBuby1yZXBlYXQpO1xuICAuaW5mb0xpbmsge1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gIH1cbn1cblxuI0xFTlNDT0xPUl9UUkFOU0lUSU9OWFRSQUNUSVZFIC5icmFuZCB7XG4gIEBpbmNsdWRlIGJyYW5kcyhcImxvZ29zX3h0cmFjdGl2ZVwiLCAxN3B4LCAxN3B4LCAgbm8tcmVwZWF0KTtcbiAgYmFja2dyb3VuZC1zaXplOiA3NSU7XG4gIC5pbmZvTGluayB7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB0b3A6IDEwcHg7XG4gIH1cbn1cblxuXG4uYnJhbmQgLmluZm9MaW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgY29sb3I6ICNkZGQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbW9vblwiO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb250ZW50OiBcIlxcZjA1OVwiO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIH1cbn1cblxuLm1pcnJvcmltYWdlIHtcbiAgd2lkdGg6IDI5OHB4O1xuICBoZWlnaHQ6IDE4MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9taXJyb3Ivc2FtcGxlLW1pcnJvci1nb2xkLmpwZykgMHB4IGNlbnRlcjtcbiAgPmRpdntcbiAgICAmLm1pcnJvci0wOTk1e1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvbWlycm9yL3NhbXBsZS1taXJyb3ItZ29sZC5qcGcpIDBweCBjZW50ZXI7XG4gICAgfVxuICAgICYubWlycm9yLTEwOTUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvbWlycm9yL3NhbXBsZS1taXJyb3Itc2lsdmVyLmpwZykgMHB4IGNlbnRlcjtcbiAgICB9XG4gICAgJi5taXJyb3ItMTE5NSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTgwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2dsYXNzZXMvbGVuc2NvbG9ycy9taXJyb3Ivc2FtcGxlLW1pcnJvci1ncmVlbi5qcGcpIDBweCBjZW50ZXI7XG4gICAgfVxuICAgICYubWlycm9yLTEyOTUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvbWlycm9yL3NhbXBsZS1taXJyb3ItYmx1ZS5qcGcpIDBweCBjZW50ZXI7XG4gICAgfVxuICAgICYubWlycm9yLTEzOTUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9nbGFzc2VzL2xlbnNjb2xvcnMvbWlycm9yL3NhbXBsZS1taXJyb3ItcmVkLmpwZykgMHB4IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLnRhYnMtcG9sYXJpemVkIHtcbiAgd2lkdGg6IDI5N3B4O1xuICAjY29sbGFwc2luZy10YWJzIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbGkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDtcbiAgICAgIGE6aG92ZXIsIGE6Zm9jdXMsIGFbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWU0MTEzO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIGxpOmZpcnN0LWNoaWxke1xuICAgICAgd2lkdGg6IDE0MnB4O1xuICAgIH1cbiAgfVxuICAudGFicy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI3RyYW5zaXRpb25BbmkgLnNsaWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi51aS1zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMzJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgd2lkdGg6IDQ4cHg7XG4gIG1hcmdpbjogLTEwcHggMCAwIC0yNHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHdpZHRoIDEwMG1zIGVhc2UtaW4tb3V0LCBtYXJnaW4gMTAwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi51aS1zbGlkZXItaGFuZGxlOjpiZWZvcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbnRlbnQ6ICc8PCc7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxlZnQ6IC0zcHg7XG4gIHRvcDogMnB4O1xuICB0cmFuc2l0aW9uOiBsZWZ0IDEwMG1zIGVhc2UtaW4tb3V0LCBjb2xvciAxMDBtcyBlYXNlLWluLW91dDtcblxufVxuXG4udWktc2xpZGVyLWhhbmRsZTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbnRlbnQ6ICc+Pic7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDEzcHg7XG4gIHJpZ2h0OiAtM3B4O1xuICB0b3A6IDJweDtcbiAgdHJhbnNpdGlvbjogcmlnaHQgMTAwbXMgZWFzZS1pbi1vdXQsIGNvbG9yIDEwMG1zIGVhc2UtaW4tb3V0O1xuXG59XG5cbi51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuXG59XG5cbi8vSGVyZSB0aGUgY2FyZCB3b3JrcyBsaWtlIHRoZSBsZW5zIHR5cGUgbW9kdWxlLCB0aGF0J3MgbWVhbiB0aGV5IGhhdmUgYWxzbyB0aGUgcmFkaW8gYnV0dG9uXG4jbGVuc19jb2xvcl9ib3ggLmNvbG9yLWl0ZW1zIC5qc3MtbGVuc2VzQ2FyZHtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAudGFicy10aXRsZSB7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIG1heC13aWR0aDogMTE1cHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICB9XG4gIH1cbiAgLmNlbGx7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgcGFkZGluZzogMC4zcmVtIDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLnRhYi10aXRsZS1oZWFkaW5nIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG4gIC5pdGVtIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDAuNXJlbSBhdXRvO1xuXG4gIH1cbiAgLnByaWNlLWJveCB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDA7XG4gICAgYmFja2dyb3VuZDogI0ZCRkJGQjtcbiAgICAucmVndWxhclByaWNlIHtcbiAgICAgIG1hcmdpbjowIDAuMjVyZW07XG4gICAgfVxuICB9XG59XG5cbiNsZW5zX2NvbG9yX2JveCAuYnV0dG9uU2F2ZXtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4jbGVuc19jb2xvcl9ib3ggLmFjY29yZGlvbi1jb250ZW50e1xuICBzcGFuLHAsaDEsaDIsaDMsaDQsaDUsaDZ7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICB9XG59XG5cbi8vSGVyZSB0aGUgY2FyZHMgaGF2ZSB0aGUgc2FtZSBzdHJ1Y3R1cmUgdGhhbiBsZW5zIHR5cGUsIGJ1dCB0aGV5IGRvbnQgdXNlZCB0aGUgcmFkaW8gYnV0dG9uXG4vL2FuZCBzdGlsbCB3b3JraW5nIHdpdGggdGhlIGNsaWNrIG9uIHRoZSBjb2xvciBpdGVtXG4jbGVucy10aW50aW5nLWNvbG9yZWQgLmxlbnNlc0NhcmQge1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC50YWJzLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDExNHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1heC13aWR0aDogMTM3cHg7XG4gICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgIH1cbiAgfVxuXG4gICN0YWJUYXJnZXRHb2xkLWxhYmVsPi5ncmlkLXgge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAuY2VsbHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJjpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nOiAwLjNyZW0gMDtcbiAgICB9XG4gIH1cblxuICAuY2VsbDpub3QoOmZpcnN0LWNoaWxkKXtcbiAgICBtYXgtd2lkdGg6IDUwcHg7XG4gICAgZmxleDogMSAwIGNvbnRlbnQ7XG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG4gIC5pdGVtIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDAuNXJlbSBhdXRvO1xuICB9XG4gIGEge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbi8qVGhpcyBibG9jayBmaXhlZCB0aGUgcHJvYmxlbSBvZiB0aGUgcmFkaW9idXR0b25zIGNhcmRzIG9uIGxlbnNlcyBjb2xvciB0byBtb2JpbGUgYWR2aWNlcyovXG4jcHJvZHVjdC1jb250YWluZXIge1xuICAjbGVuc19jb2xvcl9ib3ggLnByb2R1Y3Qtb3B0aW9uLXRhYnN7XG4gICAgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSBsaS50YWJzLXRpdGxlIHtcbiAgICAgICY6bm90KC5pcy1hY3RpdmUpIC50YWJCdWxsZXRzIHNwYW4uaWNvbi1jaXJjbGUtdGhpbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cbiAgICAgICY6bm90KC5pcy1hY3RpdmUpIC50YWJCdWxsZXRzIHNwYW4uaWNvbi1kb3QtY2lyY2xlLW8ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5hY2NvcmRpb24taXRlbSkudGFicy10aXRsZS5pcy1hY3RpdmUsICY6bm90KC5hY2NvcmRpb24taXRlbSkudGFicy10aXRsZS5lbmFibGVkOmhvdmVyLFxuICAgIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBsaS50YWJzLXRpdGxlLmlzLWFjdGl2ZSxcbiAgICAudGFicy1wYW5lbC5pcy1hY3RpdmUgbGkudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgICAgLnRhYkJ1bGxldHMge1xuICAgICAgICBzcGFuLmljb24tY2lyY2xlLXRoaW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgc3Bhbi5pY29uLWRvdC1jaXJjbGUtbyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4uaWNvbi1kb3QtY2lyY2xlLW86YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogZ3JlZW47XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHRhYkJ1bGxldHNBY3RpdmU7XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMDtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5pdGlhbDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgIEBrZXlmcmFtZXMgdGFiQnVsbGV0c0FjdGl2ZSB7XG4gICAgICAgICAgMCUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudGFiQnVsbGV0cyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwYWRkaW5nOiAwLjJyZW0gMHJlbSAwcmVtIDAuMnJlbTtcbiAgICAgIGxlZnQ6IDVweDtcbiAgICB9XG4gIH1cbn1cbi8qRW5kIGJsb2NrKi9cblxuI2xlbnMtdGludGluZy1jb2xvcmVke1xuICAuaXRlbSB7XG4gICAgJjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAmOmhvdmVyLCAgJi5pcy1hY3RpdmUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICAmLmlzLWFjdGl2ZTphZnRlciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcbiAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAwLjVweCBibGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNxdWFyZVNlbGVjdGVkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJveC1zaGFkb3c6IHJnYmEoMCwwLDAsLjIpIDBweCAwcHggMHB4IDFweCBpbnNldCxyZ2JhKDI1NSwyNTUsMjU1LC4yNSkgMHB4IDJweCAxcHggMHB4IGluc2V0LHJnYmEoMCwwLDAsLjI1KSAwcHggLTFweCA2cHggMHB4IGluc2V0LDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSk7XG59IiwiXG4jbmV3UmF0aW5nIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gICAgbWFyZ2luLWxlZnQ6IGluaXRpYWw7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG4gIGEuY2xvc2UtcmV2ZWFsLW1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICB9XG59XG4iLCIvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDYXRlZ29yeSAtIFBhZ2Vcbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLmNhdGVnb3J5LWNvbnRlbnQge1xuXHQubGluay1pbWFnZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGhlaWdodDogMjAwcHg7XG5cdH1cblx0LnBhZ2UtaGVhZGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0LmNhdGVnb3J5LWNvbnRhaW5lciB7XG5cblx0XHQvLyBGaWx0ZXIgbG9hZGluZyBsaXN0aW5nIGFuaW1hdGlvblxuXHRcdC5hamF4TG9hZGVyR3JleSB7XG5cdFx0XHRvcGFjaXR5OiAwLjg7XG5cdFx0XHRhbmltYXRpb246c2NhbGVUb0dyZXkgMXM7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ly9ALW1vei1rZXlmcmFtZXMgc2NhbGVUb0dyZXkgeyAxMDAlIHsgb3BhY2l0eTogMC44OyB9IH1cblx0XHQvL0Atd2Via2l0LWtleWZyYW1lcyBzY2FsZVRvR3JleSB7IDEwMCUgeyBvcGFjaXR5OiAwLjg7IH0gfVxuXHRcdC8vQGtleWZyYW1lcyBzY2FsZVRvR3JleSB7IDEwMCUgeyBvcGFjaXR5OiAwLjg7IH0gfVxuXG5cdFx0LmFqYXhMb2FkZXJDaXJjbGUge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdH1cblxuXHRcdC5hamF4TG9hZGVyQ2lyY2xlOmJlZm9yZXtcblx0XHRcdGxlZnQ6IGNhbGMoNTAlIC0gMTIwcHgpO1xuXHRcdFx0dG9wOiByZW0tY2FsYygxMDApO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Zm9udC1mYW1pbHk6IGljb21vb247XG5cdFx0XHRjb250ZW50OiBcIlxcZTk4MlwiO1xuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyNDApO1xuXHRcdFx0LXdlYmtpdC1hbmltYXRpb246c3BpbiA0cyBsaW5lYXIgaW5maW5pdGU7XG5cdFx0XHQtbW96LWFuaW1hdGlvbjpzcGluIDRzIGxpbmVhciBpbmZpbml0ZTtcblx0XHRcdGFuaW1hdGlvbjpzcGluIDRzIGxpbmVhciBpbmZpbml0ZTtcblx0XHR9XG5cdFx0QC1tb3ota2V5ZnJhbWVzIHNwaW4geyAxMDAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblx0XHRALXdlYmtpdC1rZXlmcmFtZXMgc3BpbiB7IDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXHRcdEBrZXlmcmFtZXMgc3BpbiB7IDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTsgfSB9XG5cblx0fVxuXG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ0FSVCBwYWdlcyAvIENBUlQgRU1QVFkgcGFnZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYm9keS5jYXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG4jY2FydC1jb250YWluZXIge1xuICAgIGgyIHtcbiAgICAgICAgQGV4dGVuZCBoMjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmLnRpdGxlLXByb2R1Y3QtY2FydCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcnQtaXRlbS1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5hbW91bnQtcGlsbCxcbiAgICAgICAgLnJlbW92ZS1pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAvLy5wcm9kdWN0LWNvbmZpZ3VyYXRpb24ge1xuICAgICAgICAvLyAgICAuZmFrZS10YWJsZSB7XG4gICAgICAgIC8vICAgICAgICAuaGVhZGluZywgLnRpdGxlIHtcbiAgICAgICAgLy8gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogODAlO1xuICAgICAgICAvLyAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8vICAgICAgICB9XG4gICAgICAgIC8vICAgIH1cbiAgICAgICAgLy99XG4gICAgfVxuICAgIC5ncmFuZC10b3RhbC1jZWxsIHtcbiAgICAgICAgLy8gU3RpY2t5IG9uIG1vYmlsZVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmdyYW5kLXRvdGFsLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAvL3BhZGRpbmc6IDEwcHggJGdsb2JhbC1wYWRkaW5nICRnbG9iYWwtcGFkZGluZztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN1bW1hcnkge1xuICAgICAgICAgICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgJi5kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZy81O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmcvNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuZ3JhbmQtdG90YWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmxlYWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhci1lbXB0eSB7XG4gICAgICAgIC8vYm9yZGVyOiAxcHg7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJveF9jb250aW51ZV9zaG9wcGluZywgLmJveF9sb2dpbiwgLmJveF9jb250YWN0X3VzIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYm94X2xvZ2luIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodGVyLWdyYXk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHRlci1ncmF5O1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGlnaHRlci1ncmF5O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2hvcnRfbWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICAgIC5qc2UtY2FydC1pdGVtLXF1YW50aXR5LmJsb2NrZWQge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxufVxuXG4vLy5teS1zdGlja3ktY2FydCB7XG4vLyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4vLyAgICBwYWRkaW5nOiAyMHB4O1xuLy8gICAgcG9zaXRpb246IHN0aWNreTtcbi8vICAgIGJvdHRvbTogMDtcbi8vfVxuIiwiLmNoZWNrb3V0LXN0ZXBzIHtcbiAgLnN0ZXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCAkYmxhY2sgc29saWQ7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gIH1cblxuICAuYWN0aXZlLXN0ZXAge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKHBldHJvbCk7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbn1cbiIsIiNjaGVja291dF9hZGRyZXNzX2NvbnRlbnQge1xuXG4gICAgZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICNhZGRyZXNzZXNfZ3JpZCB7XG5cbiAgICAgICAgICAgICNzaGlwcGluZ19jZWxsIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjYmlsbGluZ19jZWxsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubm8tYmlsbGluZy1hZGRyZXNzIHtcbiAgICAgICAgZm9ybSB7XG5cbiAgICAgICAgICAgICNhZGRyZXNzZXNfZ3JpZCB7XG4gICAgICAgICAgICAgICAgI3NoaXBwaW5nX2NlbGwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjYmlsbGluZ19jZWxsIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb3JtIHtcblxuICAgICAgICAgICAgI2FkZHJlc3Nlc19ncmlkIHtcblxuICAgICAgICAgICAgICAgICNzaGlwcGluZ19jZWxsIHtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjYmlsbGluZ19jZWxsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5uby1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICAgICAgZm9ybSB7XG5cbiAgICAgICAgICAgICAgICAjYWRkcmVzc2VzX2dyaWQge1xuICAgICAgICAgICAgICAgICAgICAjc2hpcHBpbmdfY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAjYmlsbGluZ19jZWxsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAjYWRkcmVzc2VzX2dyaWQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICNzaGlwcGluZ19jZWxsIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjYmlsbGluZ19jZWxsIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCg2KTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm5vLWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgI2FkZHJlc3Nlc19ncmlkIHtcbiAgICAgICAgICAgICAgICAgICAgI3NoaXBwaW5nX2NlbGwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI2JpbGxpbmdfY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5jaGVja291dF9zdW1tYXJ5IHtcblxuICAgIGgyIHtcblxuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAgID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIGg0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW1zLWxpc3Qge1xuXG4gICAgICAgIC8vIEdyYXlpbmcgdGhlIHdoaXRlIGJhY2tncm91bmQgZm9yIHBpY3R1cmVzIG9uIGdyYXkgdGFibGUgbGluZXNcbiAgICAgICAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIC50aHVtYm5haWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRhcmtlblBpY3R1cmUoMTAwJSAtICR0YWJsZS1jb2xvci1zY2FsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVkaWEtb2JqZWN0IHtcbiAgICAgICAgICAgIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgLnRodW1ibmFpbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtY29uZmlndXJhdGlvbiB7XG4gICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlLFxuICAgICAgICAgICAgLmFjY29yZGlvbi1jb250ZW50LFxuICAgICAgICAgICAgLm9wdGlvbi1saW5lIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kIHNtYWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhbGxvdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbn1cbiJdfQ== */
