@charset "UTF-8";
.ff-poppins {
  font-family: "Poppins", Helvetica, Georgia, Sans-serif; }

.fw-light {
  font-weight: 300; }

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

.fw-medium {
  font-weight: 500; }

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

.fs-small {
  font-size: 0.75rem; }

.uppercase {
  text-transform: uppercase; }

/* ----------------------------------------------- */
/* Horizontal gradient, from left to right
/* ----------------------------------------------- */
/* ----------------------------------------------- */
/* Degree gradient, from left to right
/* ----------------------------------------------- */
/* ----------------------------------------------- */
/* Degree gradient, from left to right for borders
/* ----------------------------------------------- */
/**
 * Foundation for Sites by ZURB
 * Version 6.5.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@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 {
  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: "Poppins", Helvetica, Georgia, Sans-serif;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
  -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: 0; }

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

.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: 0;
  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: 75rem;
  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; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
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 {
  font-size: 80%;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: "Poppins", Helvetica, Georgia, Sans-serif;
  font-style: normal;
  font-weight: 400;
  color: #d30031;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small, .h4 small,
  h5 small, .h5 small,
  h6 small, .h6 small {
    line-height: 0;
    color: #cacaca; }

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

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

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

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

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

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

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3rem; }
  h2, .h2 {
    font-size: 2.5rem; }
  h3, .h3 {
    font-size: 1.9375rem; }
  h4, .h4 {
    font-size: 1.5625rem; }
  h5, .h5 {
    font-size: 1.25rem; }
  h6, .h6 {
    font-size: 1rem; } }

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

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-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 #cacaca; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

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

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

figure {
  margin: 0; }

code {
  padding: 0.125rem 0.3125rem 0.0625rem;
  border: 1px solid #cacaca;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: 400;
  color: #000000; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #e6e6e6;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  color: #000000; }

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

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

.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 #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

.button, .wp-block-button .wp-block-button__link {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  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: #D3B583;
  color: #FFFFFF; }
  [data-whatinput='mouse'] .button, [data-whatinput='mouse'] .wp-block-button .wp-block-button__link, .wp-block-button [data-whatinput='mouse'] .wp-block-button__link {
    outline: 0; }
  .button:hover, .wp-block-button .wp-block-button__link:hover, .button:focus, .wp-block-button .wp-block-button__link:focus {
    background-color: #c69e5d;
    color: #FFFFFF; }
  .button.tiny, .wp-block-button .tiny.wp-block-button__link {
    font-size: 0.6rem; }
  .button.small, .wp-block-button .small.wp-block-button__link {
    font-size: 0.75rem; }
  .button.large, .wp-block-button .large.wp-block-button__link {
    font-size: 1.25rem; }
  .button.expanded, .wp-block-button .expanded.wp-block-button__link {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0; }
  .button.primary, .wp-block-button .primary.wp-block-button__link {
    background-color: #D3B583;
    color: #000000; }
    .button.primary:hover, .wp-block-button .primary.wp-block-button__link:hover, .button.primary:focus, .wp-block-button .primary.wp-block-button__link:focus {
      background-color: #c19751;
      color: #000000; }
  .button.secondary, .wp-block-button .secondary.wp-block-button__link {
    background-color: #767676;
    color: #000000; }
    .button.secondary:hover, .wp-block-button .secondary.wp-block-button__link:hover, .button.secondary:focus, .wp-block-button .secondary.wp-block-button__link:focus {
      background-color: #5e5e5e;
      color: #000000; }
  .button.success, .wp-block-button .success.wp-block-button__link {
    background-color: #2A7E67;
    color: #FFFFFF; }
    .button.success:hover, .wp-block-button .success.wp-block-button__link:hover, .button.success:focus, .wp-block-button .success.wp-block-button__link:focus {
      background-color: #226552;
      color: #FFFFFF; }
  .button.warning, .wp-block-button .warning.wp-block-button__link {
    background-color: #ffae00;
    color: #000000; }
    .button.warning:hover, .wp-block-button .warning.wp-block-button__link:hover, .button.warning:focus, .wp-block-button .warning.wp-block-button__link:focus {
      background-color: #cc8b00;
      color: #000000; }
  .button.alert, .wp-block-button .alert.wp-block-button__link {
    background-color: #d30031;
    color: #FFFFFF; }
    .button.alert:hover, .wp-block-button .alert.wp-block-button__link:hover, .button.alert:focus, .wp-block-button .alert.wp-block-button__link:focus {
      background-color: #a90027;
      color: #FFFFFF; }
  .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button[disabled], .wp-block-button .wp-block-button__link[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled, .wp-block-button .disabled.wp-block-button__link, .button.disabled:hover, .wp-block-button .disabled.wp-block-button__link:hover, .button.disabled:focus, .wp-block-button .disabled.wp-block-button__link:focus, .button[disabled], .wp-block-button .wp-block-button__link[disabled], .button[disabled]:hover, .wp-block-button .wp-block-button__link[disabled]:hover, .button[disabled]:focus, .wp-block-button .wp-block-button__link[disabled]:focus {
      background-color: #D3B583;
      color: #FFFFFF; }
    .button.disabled.primary, .wp-block-button .disabled.primary.wp-block-button__link, .button[disabled].primary, .wp-block-button .wp-block-button__link[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary, .wp-block-button .disabled.primary.wp-block-button__link, .button.disabled.primary:hover, .wp-block-button .disabled.primary.wp-block-button__link:hover, .button.disabled.primary:focus, .wp-block-button .disabled.primary.wp-block-button__link:focus, .button[disabled].primary, .wp-block-button .wp-block-button__link[disabled].primary, .button[disabled].primary:hover, .wp-block-button .wp-block-button__link[disabled].primary:hover, .button[disabled].primary:focus, .wp-block-button .wp-block-button__link[disabled].primary:focus {
        background-color: #D3B583;
        color: #000000; }
    .button.disabled.secondary, .wp-block-button .disabled.secondary.wp-block-button__link, .button[disabled].secondary, .wp-block-button .wp-block-button__link[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary, .wp-block-button .disabled.secondary.wp-block-button__link, .button.disabled.secondary:hover, .wp-block-button .disabled.secondary.wp-block-button__link:hover, .button.disabled.secondary:focus, .wp-block-button .disabled.secondary.wp-block-button__link:focus, .button[disabled].secondary, .wp-block-button .wp-block-button__link[disabled].secondary, .button[disabled].secondary:hover, .wp-block-button .wp-block-button__link[disabled].secondary:hover, .button[disabled].secondary:focus, .wp-block-button .wp-block-button__link[disabled].secondary:focus {
        background-color: #767676;
        color: #000000; }
    .button.disabled.success, .wp-block-button .disabled.success.wp-block-button__link, .button[disabled].success, .wp-block-button .wp-block-button__link[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success, .wp-block-button .disabled.success.wp-block-button__link, .button.disabled.success:hover, .wp-block-button .disabled.success.wp-block-button__link:hover, .button.disabled.success:focus, .wp-block-button .disabled.success.wp-block-button__link:focus, .button[disabled].success, .wp-block-button .wp-block-button__link[disabled].success, .button[disabled].success:hover, .wp-block-button .wp-block-button__link[disabled].success:hover, .button[disabled].success:focus, .wp-block-button .wp-block-button__link[disabled].success:focus {
        background-color: #2A7E67;
        color: #FFFFFF; }
    .button.disabled.warning, .wp-block-button .disabled.warning.wp-block-button__link, .button[disabled].warning, .wp-block-button .wp-block-button__link[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning, .wp-block-button .disabled.warning.wp-block-button__link, .button.disabled.warning:hover, .wp-block-button .disabled.warning.wp-block-button__link:hover, .button.disabled.warning:focus, .wp-block-button .disabled.warning.wp-block-button__link:focus, .button[disabled].warning, .wp-block-button .wp-block-button__link[disabled].warning, .button[disabled].warning:hover, .wp-block-button .wp-block-button__link[disabled].warning:hover, .button[disabled].warning:focus, .wp-block-button .wp-block-button__link[disabled].warning:focus {
        background-color: #ffae00;
        color: #000000; }
    .button.disabled.alert, .wp-block-button .disabled.alert.wp-block-button__link, .button[disabled].alert, .wp-block-button .wp-block-button__link[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert, .wp-block-button .disabled.alert.wp-block-button__link, .button.disabled.alert:hover, .wp-block-button .disabled.alert.wp-block-button__link:hover, .button.disabled.alert:focus, .wp-block-button .disabled.alert.wp-block-button__link:focus, .button[disabled].alert, .wp-block-button .wp-block-button__link[disabled].alert, .button[disabled].alert:hover, .wp-block-button .wp-block-button__link[disabled].alert:hover, .button[disabled].alert:focus, .wp-block-button .wp-block-button__link[disabled].alert:focus {
        background-color: #d30031;
        color: #FFFFFF; }
  .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link {
    border: 1px solid #D3B583;
    color: #D3B583; }
    .button.hollow, .wp-block-button .hollow.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link, .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus {
      background-color: transparent; }
    .button.hollow.disabled, .wp-block-button .hollow.disabled.wp-block-button__link, .wp-block-button.is-style-outline .disabled.wp-block-button__link, .button.hollow.disabled:hover, .wp-block-button .hollow.disabled.wp-block-button__link:hover, .wp-block-button.is-style-outline .disabled.wp-block-button__link:hover, .button.hollow.disabled:focus, .wp-block-button .hollow.disabled.wp-block-button__link:focus, .wp-block-button.is-style-outline .disabled.wp-block-button__link:focus, .button.hollow[disabled], .wp-block-button .hollow.wp-block-button__link[disabled], .wp-block-button.is-style-outline .wp-block-button__link[disabled], .button.hollow[disabled]:hover, .wp-block-button .hollow.wp-block-button__link[disabled]:hover, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:hover, .button.hollow[disabled]:focus, .wp-block-button .hollow.wp-block-button__link[disabled]:focus, .wp-block-button.is-style-outline .wp-block-button__link[disabled]:focus {
      background-color: transparent; }
    .button.hollow:hover, .wp-block-button .hollow.wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:hover, .button.hollow:focus, .wp-block-button .hollow.wp-block-button__link:focus, .wp-block-button.is-style-outline .wp-block-button__link:focus {
      border-color: #7e602d;
      color: #7e602d; }
      .button.hollow:hover.disabled, .wp-block-button .hollow.wp-block-button__link:hover.disabled, .wp-block-button.is-style-outline .wp-block-button__link:hover.disabled, .button.hollow:hover[disabled], .wp-block-button .hollow.wp-block-button__link:hover[disabled], .wp-block-button.is-style-outline .wp-block-button__link:hover[disabled], .button.hollow:focus.disabled, .wp-block-button .hollow.wp-block-button__link:focus.disabled, .wp-block-button.is-style-outline .wp-block-button__link:focus.disabled, .button.hollow:focus[disabled], .wp-block-button .hollow.wp-block-button__link:focus[disabled], .wp-block-button.is-style-outline .wp-block-button__link:focus[disabled] {
        border: 1px solid #D3B583;
        color: #D3B583; }
    .button.hollow.primary, .wp-block-button .hollow.primary.wp-block-button__link, .wp-block-button.is-style-outline .primary.wp-block-button__link {
      border: 1px solid #D3B583;
      color: #D3B583; }
      .button.hollow.primary:hover, .wp-block-button .hollow.primary.wp-block-button__link:hover, .wp-block-button.is-style-outline .primary.wp-block-button__link:hover, .button.hollow.primary:focus, .wp-block-button .hollow.primary.wp-block-button__link:focus, .wp-block-button.is-style-outline .primary.wp-block-button__link:focus {
        border-color: #7e602d;
        color: #7e602d; }
        .button.hollow.primary:hover.disabled, .wp-block-button .hollow.primary.wp-block-button__link:hover.disabled, .wp-block-button.is-style-outline .primary.wp-block-button__link:hover.disabled, .button.hollow.primary:hover[disabled], .wp-block-button .hollow.primary.wp-block-button__link:hover[disabled], .wp-block-button.is-style-outline .primary.wp-block-button__link:hover[disabled], .button.hollow.primary:focus.disabled, .wp-block-button .hollow.primary.wp-block-button__link:focus.disabled, .wp-block-button.is-style-outline .primary.wp-block-button__link:focus.disabled, .button.hollow.primary:focus[disabled], .wp-block-button .hollow.primary.wp-block-button__link:focus[disabled], .wp-block-button.is-style-outline .primary.wp-block-button__link:focus[disabled] {
          border: 1px solid #D3B583;
          color: #D3B583; }
    .button.hollow.secondary, .wp-block-button .hollow.secondary.wp-block-button__link, .wp-block-button.is-style-outline .secondary.wp-block-button__link {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .wp-block-button .hollow.secondary.wp-block-button__link:hover, .wp-block-button.is-style-outline .secondary.wp-block-button__link:hover, .button.hollow.secondary:focus, .wp-block-button .hollow.secondary.wp-block-button__link:focus, .wp-block-button.is-style-outline .secondary.wp-block-button__link:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.hollow.secondary:hover.disabled, .wp-block-button .hollow.secondary.wp-block-button__link:hover.disabled, .wp-block-button.is-style-outline .secondary.wp-block-button__link:hover.disabled, .button.hollow.secondary:hover[disabled], .wp-block-button .hollow.secondary.wp-block-button__link:hover[disabled], .wp-block-button.is-style-outline .secondary.wp-block-button__link:hover[disabled], .button.hollow.secondary:focus.disabled, .wp-block-button .hollow.secondary.wp-block-button__link:focus.disabled, .wp-block-button.is-style-outline .secondary.wp-block-button__link:focus.disabled, .button.hollow.secondary:focus[disabled], .wp-block-button .hollow.secondary.wp-block-button__link:focus[disabled], .wp-block-button.is-style-outline .secondary.wp-block-button__link:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
    .button.hollow.success, .wp-block-button .hollow.success.wp-block-button__link, .wp-block-button.is-style-outline .success.wp-block-button__link {
      border: 1px solid #2A7E67;
      color: #2A7E67; }
      .button.hollow.success:hover, .wp-block-button .hollow.success.wp-block-button__link:hover, .wp-block-button.is-style-outline .success.wp-block-button__link:hover, .button.hollow.success:focus, .wp-block-button .hollow.success.wp-block-button__link:focus, .wp-block-button.is-style-outline .success.wp-block-button__link:focus {
        border-color: #153f34;
        color: #153f34; }
        .button.hollow.success:hover.disabled, .wp-block-button .hollow.success.wp-block-button__link:hover.disabled, .wp-block-button.is-style-outline .success.wp-block-button__link:hover.disabled, .button.hollow.success:hover[disabled], .wp-block-button .hollow.success.wp-block-button__link:hover[disabled], .wp-block-button.is-style-outline .success.wp-block-button__link:hover[disabled], .button.hollow.success:focus.disabled, .wp-block-button .hollow.success.wp-block-button__link:focus.disabled, .wp-block-button.is-style-outline .success.wp-block-button__link:focus.disabled, .button.hollow.success:focus[disabled], .wp-block-button .hollow.success.wp-block-button__link:focus[disabled], .wp-block-button.is-style-outline .success.wp-block-button__link:focus[disabled] {
          border: 1px solid #2A7E67;
          color: #2A7E67; }
    .button.hollow.warning, .wp-block-button .hollow.warning.wp-block-button__link, .wp-block-button.is-style-outline .warning.wp-block-button__link {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .wp-block-button .hollow.warning.wp-block-button__link:hover, .wp-block-button.is-style-outline .warning.wp-block-button__link:hover, .button.hollow.warning:focus, .wp-block-button .hollow.warning.wp-block-button__link:focus, .wp-block-button.is-style-outline .warning.wp-block-button__link:focus {
        border-color: #805700;
        color: #805700; }
        .button.hollow.warning:hover.disabled, .wp-block-button .hollow.warning.wp-block-button__link:hover.disabled, .wp-block-button.is-style-outline .warning.wp-block-button__link:hover.disabled, .button.hollow.warning:hover[disabled], .wp-block-button .hollow.warning.wp-block-button__link:hover[disabled], .wp-block-button.is-style-outline .warning.wp-block-button__link:hover[disabled], .button.hollow.warning:focus.disabled, .wp-block-button .hollow.warning.wp-block-button__link:focus.disabled, .wp-block-button.is-style-outline .warning.wp-block-button__link:focus.disabled, .button.hollow.warning:focus[disabled], .wp-block-button .hollow.warning.wp-block-button__link:focus[disabled], .wp-block-button.is-style-outline .warning.wp-block-button__link:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
    .button.hollow.alert, .wp-block-button .hollow.alert.wp-block-button__link, .wp-block-button.is-style-outline .alert.wp-block-button__link {
      border: 1px solid #d30031;
      color: #d30031; }
      .button.hollow.alert:hover, .wp-block-button .hollow.alert.wp-block-button__link:hover, .wp-block-button.is-style-outline .alert.wp-block-button__link:hover, .button.hollow.alert:focus, .wp-block-button .hollow.alert.wp-block-button__link:focus, .wp-block-button.is-style-outline .alert.wp-block-button__link:focus {
        border-color: #6a0019;
        color: #6a0019; }
        .button.hollow.alert:hover.disabled, .wp-block-button .hollow.alert.wp-block-button__link:hover.disabled, .wp-block-button.is-style-outline .alert.wp-block-button__link:hover.disabled, .button.hollow.alert:hover[disabled], .wp-block-button .hollow.alert.wp-block-button__link:hover[disabled], .wp-block-button.is-style-outline .alert.wp-block-button__link:hover[disabled], .button.hollow.alert:focus.disabled, .wp-block-button .hollow.alert.wp-block-button__link:focus.disabled, .wp-block-button.is-style-outline .alert.wp-block-button__link:focus.disabled, .button.hollow.alert:focus[disabled], .wp-block-button .hollow.alert.wp-block-button__link:focus[disabled], .wp-block-button.is-style-outline .alert.wp-block-button__link:focus[disabled] {
          border: 1px solid #d30031;
          color: #d30031; }
  .button.clear, .wp-block-button .clear.wp-block-button__link {
    border: 1px solid #D3B583;
    color: #D3B583; }
    .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus {
      background-color: transparent; }
    .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear.disabled:hover, .wp-block-button .clear.disabled.wp-block-button__link:hover, .button.clear.disabled:focus, .wp-block-button .clear.disabled.wp-block-button__link:focus, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear[disabled]:hover, .wp-block-button .clear.wp-block-button__link[disabled]:hover, .button.clear[disabled]:focus, .wp-block-button .clear.wp-block-button__link[disabled]:focus {
      background-color: transparent; }
    .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus {
      border-color: #7e602d;
      color: #7e602d; }
      .button.clear:hover.disabled, .wp-block-button .clear.wp-block-button__link:hover.disabled, .button.clear:hover[disabled], .wp-block-button .clear.wp-block-button__link:hover[disabled], .button.clear:focus.disabled, .wp-block-button .clear.wp-block-button__link:focus.disabled, .button.clear:focus[disabled], .wp-block-button .clear.wp-block-button__link:focus[disabled] {
        border: 1px solid #D3B583;
        color: #D3B583; }
    .button.clear, .wp-block-button .clear.wp-block-button__link, .button.clear.disabled, .wp-block-button .clear.disabled.wp-block-button__link, .button.clear[disabled], .wp-block-button .clear.wp-block-button__link[disabled], .button.clear:hover, .wp-block-button .clear.wp-block-button__link:hover, .button.clear:hover.disabled, .wp-block-button .clear.wp-block-button__link:hover.disabled, .button.clear:hover[disabled], .wp-block-button .clear.wp-block-button__link:hover[disabled], .button.clear:focus, .wp-block-button .clear.wp-block-button__link:focus, .button.clear:focus.disabled, .wp-block-button .clear.wp-block-button__link:focus.disabled, .button.clear:focus[disabled], .wp-block-button .clear.wp-block-button__link:focus[disabled] {
      border-color: transparent; }
    .button.clear.primary, .wp-block-button .clear.primary.wp-block-button__link {
      border: 1px solid #D3B583;
      color: #D3B583; }
      .button.clear.primary:hover, .wp-block-button .clear.primary.wp-block-button__link:hover, .button.clear.primary:focus, .wp-block-button .clear.primary.wp-block-button__link:focus {
        border-color: #7e602d;
        color: #7e602d; }
        .button.clear.primary:hover.disabled, .wp-block-button .clear.primary.wp-block-button__link:hover.disabled, .button.clear.primary:hover[disabled], .wp-block-button .clear.primary.wp-block-button__link:hover[disabled], .button.clear.primary:focus.disabled, .wp-block-button .clear.primary.wp-block-button__link:focus.disabled, .button.clear.primary:focus[disabled], .wp-block-button .clear.primary.wp-block-button__link:focus[disabled] {
          border: 1px solid #D3B583;
          color: #D3B583; }
      .button.clear.primary, .wp-block-button .clear.primary.wp-block-button__link, .button.clear.primary.disabled, .wp-block-button .clear.primary.disabled.wp-block-button__link, .button.clear.primary[disabled], .wp-block-button .clear.primary.wp-block-button__link[disabled], .button.clear.primary:hover, .wp-block-button .clear.primary.wp-block-button__link:hover, .button.clear.primary:hover.disabled, .wp-block-button .clear.primary.wp-block-button__link:hover.disabled, .button.clear.primary:hover[disabled], .wp-block-button .clear.primary.wp-block-button__link:hover[disabled], .button.clear.primary:focus, .wp-block-button .clear.primary.wp-block-button__link:focus, .button.clear.primary:focus.disabled, .wp-block-button .clear.primary.wp-block-button__link:focus.disabled, .button.clear.primary:focus[disabled], .wp-block-button .clear.primary.wp-block-button__link:focus[disabled] {
        border-color: transparent; }
    .button.clear.secondary, .wp-block-button .clear.secondary.wp-block-button__link {
      border: 1px solid #767676;
      color: #767676; }
      .button.clear.secondary:hover, .wp-block-button .clear.secondary.wp-block-button__link:hover, .button.clear.secondary:focus, .wp-block-button .clear.secondary.wp-block-button__link:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
        .button.clear.secondary:hover.disabled, .wp-block-button .clear.secondary.wp-block-button__link:hover.disabled, .button.clear.secondary:hover[disabled], .wp-block-button .clear.secondary.wp-block-button__link:hover[disabled], .button.clear.secondary:focus.disabled, .wp-block-button .clear.secondary.wp-block-button__link:focus.disabled, .button.clear.secondary:focus[disabled], .wp-block-button .clear.secondary.wp-block-button__link:focus[disabled] {
          border: 1px solid #767676;
          color: #767676; }
      .button.clear.secondary, .wp-block-button .clear.secondary.wp-block-button__link, .button.clear.secondary.disabled, .wp-block-button .clear.secondary.disabled.wp-block-button__link, .button.clear.secondary[disabled], .wp-block-button .clear.secondary.wp-block-button__link[disabled], .button.clear.secondary:hover, .wp-block-button .clear.secondary.wp-block-button__link:hover, .button.clear.secondary:hover.disabled, .wp-block-button .clear.secondary.wp-block-button__link:hover.disabled, .button.clear.secondary:hover[disabled], .wp-block-button .clear.secondary.wp-block-button__link:hover[disabled], .button.clear.secondary:focus, .wp-block-button .clear.secondary.wp-block-button__link:focus, .button.clear.secondary:focus.disabled, .wp-block-button .clear.secondary.wp-block-button__link:focus.disabled, .button.clear.secondary:focus[disabled], .wp-block-button .clear.secondary.wp-block-button__link:focus[disabled] {
        border-color: transparent; }
    .button.clear.success, .wp-block-button .clear.success.wp-block-button__link {
      border: 1px solid #2A7E67;
      color: #2A7E67; }
      .button.clear.success:hover, .wp-block-button .clear.success.wp-block-button__link:hover, .button.clear.success:focus, .wp-block-button .clear.success.wp-block-button__link:focus {
        border-color: #153f34;
        color: #153f34; }
        .button.clear.success:hover.disabled, .wp-block-button .clear.success.wp-block-button__link:hover.disabled, .button.clear.success:hover[disabled], .wp-block-button .clear.success.wp-block-button__link:hover[disabled], .button.clear.success:focus.disabled, .wp-block-button .clear.success.wp-block-button__link:focus.disabled, .button.clear.success:focus[disabled], .wp-block-button .clear.success.wp-block-button__link:focus[disabled] {
          border: 1px solid #2A7E67;
          color: #2A7E67; }
      .button.clear.success, .wp-block-button .clear.success.wp-block-button__link, .button.clear.success.disabled, .wp-block-button .clear.success.disabled.wp-block-button__link, .button.clear.success[disabled], .wp-block-button .clear.success.wp-block-button__link[disabled], .button.clear.success:hover, .wp-block-button .clear.success.wp-block-button__link:hover, .button.clear.success:hover.disabled, .wp-block-button .clear.success.wp-block-button__link:hover.disabled, .button.clear.success:hover[disabled], .wp-block-button .clear.success.wp-block-button__link:hover[disabled], .button.clear.success:focus, .wp-block-button .clear.success.wp-block-button__link:focus, .button.clear.success:focus.disabled, .wp-block-button .clear.success.wp-block-button__link:focus.disabled, .button.clear.success:focus[disabled], .wp-block-button .clear.success.wp-block-button__link:focus[disabled] {
        border-color: transparent; }
    .button.clear.warning, .wp-block-button .clear.warning.wp-block-button__link {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.clear.warning:hover, .wp-block-button .clear.warning.wp-block-button__link:hover, .button.clear.warning:focus, .wp-block-button .clear.warning.wp-block-button__link:focus {
        border-color: #805700;
        color: #805700; }
        .button.clear.warning:hover.disabled, .wp-block-button .clear.warning.wp-block-button__link:hover.disabled, .button.clear.warning:hover[disabled], .wp-block-button .clear.warning.wp-block-button__link:hover[disabled], .button.clear.warning:focus.disabled, .wp-block-button .clear.warning.wp-block-button__link:focus.disabled, .button.clear.warning:focus[disabled], .wp-block-button .clear.warning.wp-block-button__link:focus[disabled] {
          border: 1px solid #ffae00;
          color: #ffae00; }
      .button.clear.warning, .wp-block-button .clear.warning.wp-block-button__link, .button.clear.warning.disabled, .wp-block-button .clear.warning.disabled.wp-block-button__link, .button.clear.warning[disabled], .wp-block-button .clear.warning.wp-block-button__link[disabled], .button.clear.warning:hover, .wp-block-button .clear.warning.wp-block-button__link:hover, .button.clear.warning:hover.disabled, .wp-block-button .clear.warning.wp-block-button__link:hover.disabled, .button.clear.warning:hover[disabled], .wp-block-button .clear.warning.wp-block-button__link:hover[disabled], .button.clear.warning:focus, .wp-block-button .clear.warning.wp-block-button__link:focus, .button.clear.warning:focus.disabled, .wp-block-button .clear.warning.wp-block-button__link:focus.disabled, .button.clear.warning:focus[disabled], .wp-block-button .clear.warning.wp-block-button__link:focus[disabled] {
        border-color: transparent; }
    .button.clear.alert, .wp-block-button .clear.alert.wp-block-button__link {
      border: 1px solid #d30031;
      color: #d30031; }
      .button.clear.alert:hover, .wp-block-button .clear.alert.wp-block-button__link:hover, .button.clear.alert:focus, .wp-block-button .clear.alert.wp-block-button__link:focus {
        border-color: #6a0019;
        color: #6a0019; }
        .button.clear.alert:hover.disabled, .wp-block-button .clear.alert.wp-block-button__link:hover.disabled, .button.clear.alert:hover[disabled], .wp-block-button .clear.alert.wp-block-button__link:hover[disabled], .button.clear.alert:focus.disabled, .wp-block-button .clear.alert.wp-block-button__link:focus.disabled, .button.clear.alert:focus[disabled], .wp-block-button .clear.alert.wp-block-button__link:focus[disabled] {
          border: 1px solid #d30031;
          color: #d30031; }
      .button.clear.alert, .wp-block-button .clear.alert.wp-block-button__link, .button.clear.alert.disabled, .wp-block-button .clear.alert.disabled.wp-block-button__link, .button.clear.alert[disabled], .wp-block-button .clear.alert.wp-block-button__link[disabled], .button.clear.alert:hover, .wp-block-button .clear.alert.wp-block-button__link:hover, .button.clear.alert:hover.disabled, .wp-block-button .clear.alert.wp-block-button__link:hover.disabled, .button.clear.alert:hover[disabled], .wp-block-button .clear.alert.wp-block-button__link:hover[disabled], .button.clear.alert:focus, .wp-block-button .clear.alert.wp-block-button__link:focus, .button.clear.alert:focus.disabled, .wp-block-button .clear.alert.wp-block-button__link:focus.disabled, .button.clear.alert:focus[disabled], .wp-block-button .clear.alert.wp-block-button__link:focus[disabled] {
        border-color: transparent; }
  .button.dropdown::after, .wp-block-button .dropdown.wp-block-button__link::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, .wp-block-button .dropdown.hollow.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.wp-block-button__link::after, .button.dropdown.clear::after, .wp-block-button .dropdown.clear.wp-block-button__link::after {
    border-top-color: #D3B583; }
  .button.dropdown.hollow.primary::after, .wp-block-button .dropdown.hollow.primary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.primary.wp-block-button__link::after, .button.dropdown.clear.primary::after, .wp-block-button .dropdown.clear.primary.wp-block-button__link::after {
    border-top-color: #D3B583; }
  .button.dropdown.hollow.secondary::after, .wp-block-button .dropdown.hollow.secondary.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.secondary.wp-block-button__link::after, .button.dropdown.clear.secondary::after, .wp-block-button .dropdown.clear.secondary.wp-block-button__link::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after, .wp-block-button .dropdown.hollow.success.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.success.wp-block-button__link::after, .button.dropdown.clear.success::after, .wp-block-button .dropdown.clear.success.wp-block-button__link::after {
    border-top-color: #2A7E67; }
  .button.dropdown.hollow.warning::after, .wp-block-button .dropdown.hollow.warning.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.warning.wp-block-button__link::after, .button.dropdown.clear.warning::after, .wp-block-button .dropdown.clear.warning.wp-block-button__link::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after, .wp-block-button .dropdown.hollow.alert.wp-block-button__link::after, .wp-block-button.is-style-outline .dropdown.alert.wp-block-button__link::after, .button.dropdown.clear.alert::after, .wp-block-button .dropdown.clear.alert.wp-block-button__link::after {
    border-top-color: #d30031; }
  .button.arrow-only::after, .wp-block-button .arrow-only.wp-block-button__link::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

a.button:hover, .wp-block-button a.wp-block-button__link:hover, a.button:focus, .wp-block-button a.wp-block-button__link: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 #cacaca;
  border-radius: 0;
  background-color: #FFFFFF;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
  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 #8a8a8a;
    background-color: #FFFFFF;
    box-shadow: 0 0 5px #cacaca;
    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: #e6e6e6;
  cursor: not-allowed; }

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

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

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

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

::placeholder {
  color: #cacaca; }

[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: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000000; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.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: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 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 #cacaca;
  background: #e6e6e6;
  color: #000000;
  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 #cacaca; }
  .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 #cacaca;
  border-radius: 0;
  background-color: #FFFFFF;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
  background-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 #8a8a8a;
    background-color: #FFFFFF;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

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

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

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #d30031; }
  .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: 0 0 0 0; }

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

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #e6e6e6;
  border-bottom: 0;
  font-size: 0.75rem;
  line-height: 1;
  color: #D3B583; }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #e6e6e6;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  .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 #e6e6e6;
  border-bottom: 0;
  background-color: #FFFFFF;
  color: #000000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #e6e6e6; }

.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: #FFFFFF 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: #FFFFFF 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: #D3B583;
  color: #FFFFFF; }
  .badge.primary {
    background: #D3B583;
    color: #000000; }
  .badge.secondary {
    background: #767676;
    color: #000000; }
  .badge.success {
    background: #2A7E67;
    color: #FFFFFF; }
  .badge.warning {
    background: #ffae00;
    color: #000000; }
  .badge.alert {
    background: #d30031;
    color: #FFFFFF; }

.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: #000000;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "/";
      color: #cacaca; }
  .breadcrumbs a {
    color: #D3B583; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #cacaca;
    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, .button-group .wp-block-button .wp-block-button__link, .wp-block-button .button-group .wp-block-button__link {
    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, .button-group .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group .wp-block-button__link:last-child {
      margin-right: 0; }
  .button-group.tiny .button, .button-group.tiny .wp-block-button .wp-block-button__link, .wp-block-button .button-group.tiny .wp-block-button__link {
    font-size: 0.6rem; }
  .button-group.small .button, .button-group.small .wp-block-button .wp-block-button__link, .wp-block-button .button-group.small .wp-block-button__link {
    font-size: 0.75rem; }
  .button-group.large .button, .button-group.large .wp-block-button .wp-block-button__link, .wp-block-button .button-group.large .wp-block-button__link {
    font-size: 1.25rem; }
  .button-group.expanded .button, .button-group.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.expanded .wp-block-button__link {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button, .button-group.primary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.primary .wp-block-button__link {
    background-color: #D3B583;
    color: #000000; }
    .button-group.primary .button:hover, .button-group.primary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.primary .wp-block-button__link:hover, .button-group.primary .button:focus, .button-group.primary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.primary .wp-block-button__link:focus {
      background-color: #c19751;
      color: #000000; }
  .button-group.secondary .button, .button-group.secondary .wp-block-button .wp-block-button__link, .wp-block-button .button-group.secondary .wp-block-button__link {
    background-color: #767676;
    color: #000000; }
    .button-group.secondary .button:hover, .button-group.secondary .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.secondary .wp-block-button__link:hover, .button-group.secondary .button:focus, .button-group.secondary .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.secondary .wp-block-button__link:focus {
      background-color: #5e5e5e;
      color: #000000; }
  .button-group.success .button, .button-group.success .wp-block-button .wp-block-button__link, .wp-block-button .button-group.success .wp-block-button__link {
    background-color: #2A7E67;
    color: #FFFFFF; }
    .button-group.success .button:hover, .button-group.success .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.success .wp-block-button__link:hover, .button-group.success .button:focus, .button-group.success .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.success .wp-block-button__link:focus {
      background-color: #226552;
      color: #FFFFFF; }
  .button-group.warning .button, .button-group.warning .wp-block-button .wp-block-button__link, .wp-block-button .button-group.warning .wp-block-button__link {
    background-color: #ffae00;
    color: #000000; }
    .button-group.warning .button:hover, .button-group.warning .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.warning .wp-block-button__link:hover, .button-group.warning .button:focus, .button-group.warning .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.warning .wp-block-button__link:focus {
      background-color: #cc8b00;
      color: #000000; }
  .button-group.alert .button, .button-group.alert .wp-block-button .wp-block-button__link, .wp-block-button .button-group.alert .wp-block-button__link {
    background-color: #d30031;
    color: #FFFFFF; }
    .button-group.alert .button:hover, .button-group.alert .wp-block-button .wp-block-button__link:hover, .wp-block-button .button-group.alert .wp-block-button__link:hover, .button-group.alert .button:focus, .button-group.alert .wp-block-button .wp-block-button__link:focus, .wp-block-button .button-group.alert .wp-block-button__link:focus {
      background-color: #a90027;
      color: #FFFFFF; }
  .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 .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked .wp-block-button__link, .button-group.stacked-for-small .button, .button-group.stacked-for-small .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small .wp-block-button__link, .button-group.stacked-for-medium .button, .button-group.stacked-for-medium .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium .wp-block-button__link {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group.stacked .wp-block-button__link:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-small .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group.stacked-for-small .wp-block-button__link:last-child, .button-group.stacked-for-medium .button:last-child, .button-group.stacked-for-medium .wp-block-button .wp-block-button__link:last-child, .wp-block-button .button-group.stacked-for-medium .wp-block-button__link:last-child {
        margin-bottom: 0; }
    .button-group.stacked.expanded .button, .button-group.stacked.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked.expanded .wp-block-button__link, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-small.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small.expanded .wp-block-button__link, .button-group.stacked-for-medium.expanded .button, .button-group.stacked-for-medium.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium.expanded .wp-block-button__link {
      -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, .button-group.stacked-for-small .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small .wp-block-button__link {
      -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, .button-group.stacked-for-medium .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium .wp-block-button__link {
      -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, .button-group.stacked-for-small.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-small.expanded .wp-block-button__link {
        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, .button-group.stacked-for-medium.expanded .wp-block-button .wp-block-button__link, .wp-block-button .button-group.stacked-for-medium.expanded .wp-block-button__link {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  background-color: white;
  color: #000000; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #f8f4ec;
    color: #000000; }
  .callout.secondary {
    background-color: #eaeaea;
    color: #000000; }
  .callout.success {
    background-color: #d9f2eb;
    color: #000000; }
  .callout.warning {
    background-color: #fff3d9;
    color: #000000; }
  .callout.alert {
    background-color: #ffd2dd;
    color: #000000; }
  .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 #e6e6e6;
  border-radius: 0;
  background: #FFFFFF;
  box-shadow: none;
  overflow: hidden;
  color: #000000; }
  .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: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

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

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

.close-button {
  position: absolute;
  color: #8a8a8a;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000000; }
  .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,
  .menu .wp-block-button .wp-block-button__link,
  .wp-block-button .menu .wp-block-button__link {
    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; } }
  .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: #D3B583;
    color: #FFFFFF; }
  .menu .active > a {
    background: #D3B583;
    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: #cacaca;
    box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }

.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: #000000;
    box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #8a8a8a;
    box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }

.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 #D3B583;
    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 #D3B583;
  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 #D3B583 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 #D3B583 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 #cacaca;
  border-radius: 0;
  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: #D3B583 transparent transparent;
  right: 5px;
  left: auto;
  margin-top: -3px; }

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

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

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

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

@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: #D3B583 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 #D3B583 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 #D3B583; } }

@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: #D3B583 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 #D3B583 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 #D3B583; } }

.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 #cacaca;
  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 #D3B583 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 #D3B583; }
  .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: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #D3B583;
  color: #FFFFFF; }
  .label.primary {
    background: #D3B583;
    color: #000000; }
  .label.secondary {
    background: #767676;
    color: #000000; }
  .label.success {
    background: #2A7E67;
    color: #FFFFFF; }
  .label.warning {
    background: #ffae00;
    color: #000000; }
  .label.alert {
    background: #d30031;
    color: #FFFFFF; }

.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.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.25);
  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.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #485560; }
  [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(0, 0, 0, 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.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #485560; }
  [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(0, 0, 0, 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: 250px;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
    .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(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
  .position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  width: 250px;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            transform: translateX(250px); }
    .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(-250px);
        -ms-transform: translateX(-250px);
            transform: translateX(-250px); }
  .position-right.is-transition-push {
    box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
    .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(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px); }
    .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(-250px);
        -ms-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s 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: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .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: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .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: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .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: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@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: 250px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .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: 250px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .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: 250px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .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: 250px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

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

.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(0, 0, 0, 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(0, 0, 0, 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: #cacaca; }
    .orbit-bullets button:hover {
      background-color: #8a8a8a; }
    .orbit-bullets button.is-active {
      background-color: #8a8a8a; }

.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: 0;
    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: 0;
    color: #000000; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #D3B583;
    color: #FFFFFF;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #cacaca;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #000000; }

.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: 0;
  background-color: #cacaca; }
  .progress.primary .progress-meter {
    background-color: #D3B583; }
  .progress.secondary .progress-meter {
    background-color: #767676; }
  .progress.success .progress-meter {
    background-color: #2A7E67; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #d30031; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #D3B583; }

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

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  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: #cacaca;
  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: 0;
  background-color: #D3B583;
  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: #c69e5d; }
  .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(0, 0, 0, 0.45);
  overflow-y: auto; }

.reveal {
  z-index: 1006;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: none;
  padding: 1rem;
  border: 1px solid #cacaca;
  border-radius: 0;
  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: 75rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 75rem; } }
  .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: 0;
  background: #cacaca;
  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: 0;
    background: #FFFFFF;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #D3B583; }
    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: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f2f2f2;
    background-color: #FFFFFF; }
  caption {
    padding: 0.5rem 0.625rem 0.625rem;
    font-weight: bold; }
  thead {
    background: #f9f9f9;
    color: #000000; }
  tfoot {
    background: #f2f2f2;
    color: #000000; }
  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: #f2f2f2; }
  table.unstriped tbody {
    background-color: #FFFFFF; }
    table.unstriped tbody tr {
      border-bottom: 0;
      border-bottom: 1px solid #f2f2f2;
      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: #f4f4f4; }

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

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

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

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

.tabs {
  margin: 0;
  border: 1px solid #e6e6e6;
  background: #FFFFFF;
  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: #D3B583; }
  .tabs.primary > li > a {
    color: #000000; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #cfad76; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    font-size: 0.75rem;
    line-height: 1;
    color: #D3B583; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: #FFFFFF;
      color: #c6a060; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6;
      color: #D3B583; }

.tabs-content {
  border: 1px solid #e6e6e6;
  border-top: 0;
  background: #FFFFFF;
  color: #000000;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid #e6e6e6;
  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: 0;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 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(211, 181, 131, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.title-bar {
  padding: 0.5rem;
  background: transparet;
  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 #8a8a8a;
  font-weight: bold;
  cursor: help; }

.tooltip {
  position: absolute;
  top: calc(100% + 0.6495rem);
  z-index: 1200;
  max-width: 10rem;
  padding: 0.75rem;
  border-radius: 0;
  background-color: #000000;
  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 #000000;
    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: #000000 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 #000000;
    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 #000000 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: 1.5625rem 2.1875rem 0.5rem;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .top-bar,
  .top-bar ul {
    background-color: transparent; }
  .top-bar ul ul {
    background-color: #595959; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button, .top-bar .wp-block-button input.wp-block-button__link, .wp-block-button .top-bar input.wp-block-button__link {
    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%; } }

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

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

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

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

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
/*-------------------------------------------------------------------------------------*/
/* Generales de Playus
/*-------------------------------------------------------------------------------------*/
.gm-style img {
  max-width: inherit !important; }

#mapa-01 {
  /*height: 100%;*/ }

.gm-map {
  display: block;
  width: 100%;
  height: 600px; }

.medio-arriba {
  padding-top: 0.5rem; }

.uno-arriba {
  padding-top: 1rem; }

.dos-arriba {
  padding-top: 2rem; }

.tres-arriba {
  padding-top: 3rem; }

.cuatro-arriba {
  padding-top: 4rem; }

.cinco-arriba {
  padding-top: 5rem; }

.seis-arriba {
  padding-top: 6rem; }

.siete-arriba {
  padding-top: 7rem; }

.ocho-arriba {
  padding-top: 8rem; }

.medio-abajo {
  padding-bottom: 0.5rem; }

.uno-abajo {
  padding-bottom: 1rem; }

.dos-abajo {
  padding-bottom: 2rem; }

.tres-abajo {
  padding-bottom: 3rem; }

.cuatro-abajo {
  padding-bottom: 4rem; }

.cinco-abajo {
  padding-bottom: 5rem; }

.seis-abajo {
  padding-bottom: 6rem; }

.medio-der {
  padding-right: 0.5rem; }

.uno-der {
  padding-right: 1rem; }

.dos-der {
  padding-right: 2rem; }

.tres-der {
  padding-right: 3rem; }

.cuatro-der {
  padding-right: 4rem; }

.cinco-der {
  padding-right: 5rem; }

.seis-der {
  padding-right: 6rem; }

.medio-izq {
  padding-left: 0.5rem; }

.uno-izq {
  padding-left: 1rem; }

.dos-izq {
  padding-left: 2rem; }

.tres-izq {
  padding-left: 3rem; }

.cuatro-izq {
  padding-left: 4rem; }

.cinco-izq {
  padding-left: 5rem; }

.seis-izq {
  padding-left: 6rem; }

.no-margin {
  margin: 0px; }

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

.margin-auto {
  margin: 0 auto; }

.margin-medio-arriba {
  margin-top: 0.5rem; }

.margin-uno-arriba {
  margin-top: 1rem; }

.margin-dos-arriba {
  margin-top: 2rem; }

.margin-tres-arriba {
  margin-top: 3rem; }

.margin-cuatro-arriba {
  margin-top: 4rem; }

.margin-medio-abajo {
  margin-bottom: 0.5rem; }

.margin-uno-abajo {
  margin-bottom: 1rem; }

.margin-dos-abajo {
  margin-bottom: 2rem; }

.margin-tres-abajo {
  margin-bottom: 3rem; }

.margin-cuatro-abajo {
  margin-bottom: 4rem; }

.uno-der-m {
  margin-right: 1rem; }

.dos-der-m {
  margin-right: 2rem; }

.uno-izq-m {
  margin-left: 1rem; }

.dos-izq-m {
  margin-left: 2rem; }

.img-100 {
  width: 100%; }

.overflow {
  overflow: hidden; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.block {
  display: block !important; }

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

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

.z-index10 {
  z-index: 10; }

/*//////////////////////////////*/
/* ----------------------------------------------- */
/* Margin Top
/* ----------------------------------------------- */
.m-t-8 {
  margin-top: 0.5rem; }

.m-t-16 {
  margin-top: 1rem; }

.m-t-20 {
  margin-top: 1.25rem; }

.m-t-24 {
  margin-top: 1.5rem; }

.m-t-28 {
  margin-top: 1.75rem; }

.m-t-32 {
  margin-top: 2rem; }

.m-t-40 {
  margin-top: 2.5rem; }

.m-t-48 {
  margin-top: 3rem; }

/* ----------------------------------------------- */
/* Margin Right
/* ----------------------------------------------- */
.m-r-8 {
  margin-right: 0.5rem; }

.m-r-12 {
  margin-right: 0.75rem; }

.m-r-16 {
  margin-right: 1rem; }

/* ----------------------------------------------- */
/* Margin Bottom
/* ----------------------------------------------- */
.m-b-0 {
  margin-bottom: 0; }

.m-b-8 {
  margin-bottom: 0.5rem; }

.m-b-13 {
  margin-bottom: 0.8125rem; }

.m-b-16 {
  margin-bottom: 1rem; }

.m-b-20 {
  margin-bottom: 1.25rem; }

.m-b-24 {
  margin-bottom: 1.5rem; }

.m-b-28 {
  margin-bottom: 1.75rem; }

.m-b-32 {
  margin-bottom: 2rem; }

.m-b-40 {
  margin-bottom: 2.5rem; }

.m-b-48 {
  margin-bottom: 3rem; }

.m-b-60 {
  margin-bottom: 3.75rem; }

.m-b-60 {
  margin-bottom: 3.75rem; }

.m-b-96 {
  margin-bottom: 6rem; }

/* ----------------------------------------------- */
/* Margin Left
/* ----------------------------------------------- */
.m-l-8 {
  margin-left: 0.5rem; }

.m-l-12 {
  margin-left: 0.75rem; }

.m-l-16 {
  margin-left: 1rem; }

/* ----------------------------------------------- */
/* Padding Top
/* ----------------------------------------------- */
.p-t-8 {
  padding-top: 0.5rem; }

.p-t-16 {
  padding-top: 1rem; }

.p-t-24 {
  padding-top: 1.5rem; }

.p-t-28 {
  padding-top: 1.75rem; }

.p-t-32 {
  padding-top: 2rem; }

.p-t-40 {
  padding-top: 2.5rem; }

.p-t-60 {
  padding-top: 3.75rem; }

.p-t-72 {
  padding-top: 4.5rem; }

.p-t-80 {
  padding-top: 5rem; }

/* ----------------------------------------------- */
/* Padding Right
/* ----------------------------------------------- */
.p-r-8 {
  padding-right: 0.5rem; }

.p-r-16 {
  padding-right: 1rem; }

.p-r-20 {
  padding-right: 1.25rem; }

.p-r-24 {
  padding-right: 1.5rem; }

.p-r-32 {
  padding-right: 2rem; }

/* ----------------------------------------------- */
/* Padding Bottom
/* ----------------------------------------------- */
.p-b-8 {
  padding-bottom: 0.5rem; }

.p-b-16 {
  padding-bottom: 1rem; }

.p-b-24 {
  padding-bottom: 1.5rem; }

.p-b-32 {
  padding-bottom: 2rem; }

.p-b-40 {
  padding-bottom: 2.5rem; }

.p-b-56 {
  padding-bottom: 3.5rem; }

.p-b-60 {
  padding-bottom: 3.75rem; }

.p-b-72 {
  padding-bottom: 4.5rem; }

.p-b-96 {
  padding-bottom: 6rem; }

/* ----------------------------------------------- */
/* Padding Left
/* ----------------------------------------------- */
.p-l-8 {
  padding-left: 0.5rem; }

.p-l-16 {
  padding-left: 1rem; }

.p-l-20 {
  padding-left: 1.25rem; }

.p-l-24 {
  padding-left: 1.5rem; }

.p-l-32 {
  padding-left: 2rem; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

/*-------------------------------------------------------------------------------------*/
/* MAIN GFORMS
/*-------------------------------------------------------------------------------------*/
.gform_wrapper select, .gform_wrapper textarea {
  font-size: inherit;
  font-family: inherit;
  letter-spacing: normal; }

.gform_wrapper .gf_progressbar:after, .gform_wrapper ol.validation_list:after {
  content: ""; }

.gform_wrapper {
  margin: 16px 0;
  max-width: 100%; }

.gform_wrapper form {
  text-align: left;
  max-width: 100%;
  margin: 0 auto; }

.gform_wrapper *, .gform_wrapper :after, .gform_wrapper :before {
  box-sizing: border-box !important; }

.gform_wrapper h1, .gform_wrapper h2, .gform_wrapper h3 {
  font-weight: 400;
  border: none;
  background: 0 0; }

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']) {
  font-size: inherit;
  font-family: inherit;
  padding: 5px 4px;
  letter-spacing: normal; }

.gform_wrapper input[type=image] {
  border: none !important;
  padding: 0 !important;
  width: auto !important; }

.gform_wrapper textarea {
  padding: 6px 8px;
  line-height: 1.5;
  resize: none; }

.gform_wrapper select {
  line-height: 1.5; }

.gform_wrapper .ginput_container_multiselect select {
  background-image: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  outline: 0; }

.gform_wrapper ul.gform_fields {
  margin: 0 !important;
  list-style-type: none;
  display: block; }

.gform_wrapper ul, html > body .entry ul {
  text-indent: 0; }

.gform_wrapper form li, .gform_wrapper li {
  margin-left: 0 !important;
  list-style: none !important;
  overflow: visible; }

.gform_wrapper ul li.gfield {
  clear: both; }

.gform_wrapper ul.gfield_checkbox li, .gform_wrapper ul.gfield_radio li {
  overflow: hidden; }

.gform_wrapper form ul.gform_fields.left_label li.gfield, .gform_wrapper form ul.gform_fields.right_label li.gfield, .gform_wrapper ul.gform_fields.left_label li.gfield, .gform_wrapper ul.gform_fields.right_label li.gfield {
  margin-bottom: 14px; }

.gform_wrapper form ul.left_label li ul.gfield_checkbox li, .gform_wrapper form ul.left_label li ul.gfield_radio li, .gform_wrapper form ul.right_label li ul.gfield_checkbox li, .gform_wrapper form ul.right_label li ul.gfield_radio li, .gform_wrapper ul.left_label li ul.gfield_checkbox li, .gform_wrapper ul.left_label li ul.gfield_radio li, .gform_wrapper ul.right_label li ul.gfield_checkbox li, .gform_wrapper ul.right_label li ul.gfield_radio li {
  margin-bottom: 10px; }

.gform_wrapper ul li:after, .gform_wrapper ul li:before, .gform_wrapper ul.gform_fields {
  padding: 0;
  margin: 0;
  overflow: visible; }

.gform_wrapper select option {
  padding: 2px;
  display: block; }

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

.gform_wrapper .gform_heading {
  width: 100%;
  margin-bottom: 18px; }

.gform_wrapper .clear-multi {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.gform_wrapper .gfield_date_day, .gform_wrapper .gfield_date_year {
  display: -moz-inline-stack;
  display: inline-block; }

.gform_wrapper .gfield_date_day, .gform_wrapper .gfield_date_month, .gform_wrapper .gfield_date_year {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.gform_wrapper .gfield_date_dropdown_day, .gform_wrapper .gfield_date_dropdown_month, .gform_wrapper .gfield_date_dropdown_year {
  vertical-align: top;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-right: .5rem; }

.gform_wrapper .gfield_date_day, .gform_wrapper .gfield_date_month {
  width: 4rem;
  margin-right: .5rem; }

.gform_wrapper .gfield_date_day input[type=number], .gform_wrapper .gfield_date_month input[type=number] {
  width: calc(3rem + 8px) !important; }

.gform_wrapper .gfield_date_year input[type=number] {
  width: calc(4rem + 8px) !important; }

.gform_wrapper .gfield_date_year {
  width: 5rem; }

.gform_wrapper .gfield_date_day input, .gform_wrapper .gfield_date_month input {
  width: calc(3rem + 8px); }

.gform_wrapper .gfield_date_year input {
  width: 4rem; }

.gform_wrapper .field_sublabel_above div[class*=gfield_date_].ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_date_].ginput_container label {
  width: 3rem;
  text-align: center; }

.gform_wrapper .field_sublabel_above div.gfield_date_year.ginput_container label, .gform_wrapper .field_sublabel_below div.gfield_date_year.ginput_container label {
  width: 4rem; }

.gform_wrapper .gfield_time_ampm, .gform_wrapper .gfield_time_hour, .gform_wrapper .gfield_time_minute {
  width: 33.333%;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

@media only screen and (min-width: 321px) {
  .gform_wrapper .gfield_date_day, .gform_wrapper .gfield_date_month {
    max-width: 4rem; }
  .gform_wrapper .gfield_date_year, .gform_wrapper .gfield_time_ampm {
    max-width: calc(4rem + .5rem); }
  .gform_wrapper .gfield_time_hour, .gform_wrapper .gfield_time_minute {
    max-width: 4rem; }
  .gform_wrapper .gfield_time_ampm, .gform_wrapper .gfield_time_hour {
    max-width: calc(4rem + .5rem); } }

.gform_wrapper ul.gform_fields:not(.top_label) .ginput_container_time span {
  float: left; }

.gform_wrapper .gfield_time_hour i {
  font-style: normal !important;
  font-family: sans-serif !important;
  width: 10px;
  text-align: center;
  float: right;
  margin-top: 9%; }

.gform_wrapper .gfield_time_minute {
  margin-right: .5rem; }

.gform_wrapper .gfield_time_hour {
  margin-right: .25rem; }

.gform_wrapper .gfield_time_ampm {
  vertical-align: top;
  display: -moz-inline-stack;
  display: inline-block; }

.gform_wrapper .gfield_time_ampm select {
  min-width: calc(2rem + 25px);
  width: calc(3rem + 25px); }

.gform_wrapper .gfield_time_ampm_shim {
  display: block;
  font-size: .813em;
  margin: 9px 0 1px 1px; }

.gform_wrapper .gfield_time_hour input, .gform_wrapper .gfield_time_minute input {
  width: calc(3rem + 8px); }

.gform_wrapper .gfield_time_hour input[type=number], .gform_wrapper .gfield_time_minute input[type=number] {
  width: calc(3rem + 8px) !important; }

.gform_wrapper .field_sublabel_above div[class*=gfield_time_].ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label {
  width: 3rem;
  text-align: center; }

.gform_wrapper .field_hover {
  border: 1px dashed #2175A9;
  cursor: pointer; }

.gform_wrapper .field_selected {
  background-color: #DFEFFF;
  border: 1px solid #C2D7EF; }

.gform_wrapper .field_name_first, .gform_wrapper .field_name_last, .gform_wrapper .field_name_middle {
  width: 49.5%;
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: top; }

.gform_wrapper .ginput_complex.ginput_container {
  overflow: visible;
  width: 100%; }

.gform_wrapper label.gfield_label, .gform_wrapper legend.gfield_label {
  font-weight: 700;
  font-size: inherit; }

.gform_wrapper .top_label .gfield_label, .gform_wrapper legend.gfield_label {
  display: -moz-inline-stack;
  display: inline-block;
  line-height: 1.3;
  clear: both; }

.gform_wrapper .top_label .gfield_hide_label {
  display: none; }

.gform_wrapper .ginput_complex .ginput_left input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type='file']), .gform_wrapper .ginput_complex .ginput_right input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type='file']), .gform_wrapper .ginput_complex .ginput_right select, .gform_wrapper .ginput_complex input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=image]):not([type='file']), .gform_wrapper .ginput_complex select {
  width: 100%; }

.gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_above div[class*=gfield_date_].ginput_container label, .gform_wrapper .field_sublabel_above div[class*=gfield_time_].ginput_container label, .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_date_].ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label {
  display: block;
  font-size: .813em;
  letter-spacing: .5pt;
  white-space: nowrap; }

.gform_wrapper ul.gfield_checkbox li label, .gform_wrapper ul.gfield_radio li label {
  display: -moz-inline-stack;
  display: inline-block;
  letter-spacing: inherit;
  vertical-align: middle;
  cursor: pointer; }

.gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_above div[class*=gfield_time_].ginput_container label {
  margin: 9px 0 1px 1px; }

.gform_wrapper ul.gform_fields:not(.top_label) .field_sublabel_above .ginput_container.ginput_container_email label, .gform_wrapper ul.gform_fields:not(.top_label) .field_sublabel_above .ginput_container.ginput_container_name label, .gform_wrapper ul.gform_fields:not(.top_label) .field_sublabel_above .ginput_container.ginput_container_password label, .gform_wrapper ul.gform_fields:not(.top_label) .field_sublabel_above .ginput_container.ginput_container_time label {
  margin-top: 0; }

.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label {
  margin: 1px 0 9px 1px; }

.gform_wrapper .top_label .field_sublabel_above label.gfield_label + .ginput_complex.ginput_container, .gform_wrapper .top_label .field_sublabel_above label.gfield_label + div[class*=gfield_time_].ginput_container {
  margin-top: 0; }

body .gform_wrapper .top_label div.ginput_container {
  margin-top: 8px; }

body.gform_wrapper div.clear-multi {
  display: -moz-inline-stack;
  display: inline-block; }

body .gform_wrapper ul li.field_description_below div.ginput_container_checkbox, body .gform_wrapper ul li.field_description_below div.ginput_container_radio {
  margin-top: 16px;
  margin-bottom: 0; }

.gform_wrapper .hidden_label .gfield_label {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.gfield.left_label, .gfield.right_label {
  padding-top: 10px; }

.gform_wrapper li.hidden_label input {
  margin-top: 12px; }

.gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container input[type=text], .gform_wrapper .field_sublabel_hidden_label .ginput_complex.ginput_container select {
  margin-bottom: 12px; }

.gform_wrapper .screen-reader-text, .gform_wrapper label.hidden_sub_label {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important; }

.gform_wrapper input.large, .gform_wrapper input.medium, .gform_wrapper input.small, .gform_wrapper select.large, .gform_wrapper select.medium, .gform_wrapper select.small {
  width: 100%; }

.gform_wrapper input.datepicker_with_icon.large, .gform_wrapper input.datepicker_with_icon.medium, .gform_wrapper input.datepicker_with_icon.small {
  width: calc(100% - 24px); }

.gform_wrapper .gfield_error input.large, .gform_wrapper .gfield_error input.medium, .gform_wrapper .gfield_error input.small, .gform_wrapper .gfield_error select.large, .gform_wrapper .gfield_error select.medium, .gform_wrapper .gfield_error select.small {
  width: 100%; }

.gform_wrapper .gfield_error input.datepicker_with_icon.large, .gform_wrapper .gfield_error input.datepicker_with_icon.medium, .gform_wrapper .gfield_error input.datepicker_with_icon.small {
  width: calc(100% - 32px); }

.gform_wrapper textarea.small {
  height: 80px;
  width: 100%; }

.gform_wrapper textarea.medium {
  height: 120px;
  width: 100%; }

.gform_wrapper textarea.large {
  height: 160px;
  width: 100%; }

.gform_wrapper h2.gsection_title {
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: normal !important; }

.gform_wrapper .gsection .gfield_label, .gform_wrapper h2.gsection_title, .gform_wrapper h3.gform_title {
  font-weight: 700;
  font-size: 1.25em; }

.gform_wrapper h3.gform_title {
  letter-spacing: normal !important;
  margin: 10px 0 6px; }

.gform_wrapper li.gfield.field_description_below + li.gsection {
  margin-top: 24px !important; }

.gform_wrapper span.gform_description {
  font-weight: 400;
  display: block;
  width: calc(100% - 16px);
  margin-bottom: 16px; }

.gform_wrapper .gsection {
  border-bottom: 1px solid #CCC;
  padding: 0 16px 8px 0;
  margin: 28px 0;
  clear: both; }

.gform_wrapper ul.gfield_checkbox li input[type=checkbox], .gform_wrapper ul.gfield_radio li input[type=radio] {
  width: auto !important; }

.gform_wrapper ul.gfield_checkbox, .gform_wrapper ul.gfield_radio {
  margin: 6px 0;
  padding: 0; }

.gform_wrapper .gfield_checkbox li label, .gform_wrapper .gfield_radio li label {
  display: -moz-inline-stack;
  display: inline-block;
  padding: 0;
  width: auto;
  line-height: 1.5;
  font-size: .875em;
  vertical-align: middle;
  max-width: 85%;
  white-space: normal; }

.gform_wrapper .ginput_complex .ginput_cardinfo_left label, .gform_wrapper .ginput_complex .ginput_cardinfo_right label, .gform_wrapper div.charleft {
  white-space: nowrap !important; }

.gform_wrapper .gfield_checkbox li label {
  margin: 0; }

.gform_wrapper .gfield_radio li label {
  margin: 2px 0 0 4px; }

.gform_wrapper .gfield_checkbox li input, .gform_wrapper .gfield_checkbox li input[type=checkbox], .gform_wrapper .gfield_radio li input[type=radio] {
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: middle;
  margin-left: 1px; }

.gform_wrapper .description, .gform_wrapper .gfield_description, .gform_wrapper .gsection_description, .gform_wrapper .instruction {
  font-size: .813em;
  line-height: inherit;
  clear: both;
  font-family: inherit;
  letter-spacing: normal; }

.gform_wrapper .description, .gform_wrapper .gfield_description, .gform_wrapper .gsection_description {
  padding: 0 16px 0 0; }

.gform_wrapper .field_description_below .gfield_description {
  padding-top: 16px; }

.gform_wrapper .field_sublabel_above .description, .gform_wrapper .field_sublabel_above .gfield_description, .gform_wrapper .field_sublabel_above .gsection_description {
  margin-top: 9px; }

.gform_wrapper .top_label .gsection_description {
  width: 100%;
  margin-bottom: 9px; }

.gform_wrapper .gfield_description {
  width: 100%; }

.gform_wrapper .description_above .gfield_description {
  padding: 0 0 10px; }

.gfield_date_year + .gfield_description {
  padding: 0; }

.gform_wrapper .field_description_below .gfield_consent_description, .gform_wrapper .gfield_consent_description {
  width: 100%;
  max-height: 240px;
  overflow-y: scroll;
  border: 1px solid #ddd;
  margin-top: 12px;
  padding: 6px 8px;
  font-size: .688em; }

.gform_wrapper .gfield_required {
  color: #790000;
  margin-left: 4px; }

.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
  background-color: rgba(255, 223, 224, 0.25);
  margin-bottom: 6px !important;
  border-top: 1px solid #C89797;
  border-bottom: 1px solid #C89797;
  padding-bottom: 6px;
  padding-top: 8px;
  box-sizing: border-box; }

.gform_wrapper li.gfield.gfield_creditcard_warning {
  padding: 16px 16px 14px;
  border-top: 2px solid #790000;
  border-bottom: 4px solid #790000;
  background-color: rgba(255, 223, 224, 0.25);
  width: calc(100% - 16px); }

.gform_wrapper li.gfield.gfield_error.gfield_creditcard_warning {
  padding: 16px 16px 14px; }

.gform_wrapper li.gfield.gfield_creditcard_warning div.gfield_creditcard_warning_message {
  font-size: .875em;
  font-weight: 700;
  font-family: inherit;
  min-height: 25px;
  color: #790000;
  max-width: 100%;
  position: relative; }

.gform_wrapper li.gfield.gfield_creditcard_warning div.gfield_creditcard_warning_message span {
  display: block;
  padding: 0 0 14px 24px;
  margin-bottom: 16px;
  line-height: 1.5;
  letter-spacing: .1pt;
  border-bottom: 1px solid #790000;
  text-transform: uppercase;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSItMTA2NyAyODY1IDI0IDMyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IC0xMDY3IDI4NjUgMjQgMzI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoJLnN0MHtmaWxsOiM3OTAwMDA7fQ0KPC9zdHlsZT4NCjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0tMTA1MywyODY1Yy01LjUsMC0xMCw0LjUtMTAsMTBoNGMwLTMuMywyLjctNiw2LTZjMy4zLDAsNiwyLjcsNiw2djJoLTIwdjE0YzAsMy4zLDIuNyw2LDYsNmgxMg0KCWMzLjMsMCw2LTIuNyw2LTZ2LTE2Qy0xMDQzLDI4NjkuNS0xMDQ3LjUsMjg2NS0xMDUzLDI4NjV6IE0tMTA0OSwyODkzaC0xMmMtMS4xLDAtMi0wLjktMi0ydi0xMGgxNnYxMA0KCUMtMTA0NywyODkyLjEtMTA0Ny45LDI4OTMtMTA0OSwyODkzeiBNLTEwNTMsMjg4N2MwLDEuMS0wLjksMi0yLDJzLTItMC45LTItMmMwLTEuMSwwLjktMiwyLTJTLTEwNTMsMjg4NS45LTEwNTMsMjg4N3oiLz4NCjwvc3ZnPg0K);
  background-size: 1em auto;
  background-repeat: no-repeat;
  background-position: left center; }

.gform_wrapper li.gfield.gfield_error.gfield_creditcard_warning div.gfield_creditcard_warning_message {
  padding: 16px 16px 14px; }

li.gfield + li.gfield.gfield_creditcard_warning {
  margin-top: 16px !important; }

.gform_wrapper .top_label .gfield_error {
  width: calc(100% - 2px); }

.gform_wrapper .top_label .gfield_error input.large, .gform_wrapper .top_label .gfield_error select.large, .gform_wrapper .top_label .gfield_error textarea.textarea {
  width: 100%; }

.gform_wrapper .left_label .gfield_error input.large, .gform_wrapper .left_label .gfield_error select.large, .gform_wrapper .left_label .gfield_error textarea.textarea, .gform_wrapper .right_label .gfield_error input.large, .gform_wrapper .right_label .gfield_error select.large, .gform_wrapper .right_label .gfield_error textarea.textarea {
  width: 70%; }

.gform_wrapper .gfield_error .gfield_label {
  color: #790000; }

.gform_wrapper li.gfield.gfield_error.gfield_contains_required {
  padding-right: 0; }

.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_time_ampm.ginput_container, .gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_time_minute.ginput_container {
  margin-left: 0; }

.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.gfield_description {
  max-width: 100%;
  padding-right: 16px; }

.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container, .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
  margin-top: 12px; }

.gform_wrapper li.gfield.gfield_error.gfield_contains_required fieldset legend.gfield_label {
  position: relative;
  top: 12px; }

.gform_wrapper div.validation_error {
  color: #790000;
  font-size: 1em;
  font-weight: 700;
  margin-bottom: 25px;
  border-top: 2px solid #790000;
  border-bottom: 2px solid #790000;
  padding: 16px 0;
  clear: both;
  width: 100%;
  text-align: center; }

.gform_wrapper ol.validation_list {
  clear: both;
  width: 100%;
  margin-bottom: 25px;
  color: #790000; }

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

.gform_wrapper ol.validation_list li a {
  color: #790000; }

.gform_wrapper div#error {
  margin-bottom: 25px; }

.gform_wrapper table.gfield_list tbody tr td.gfield_list_icons {
  vertical-align: middle !important; }

.gform_wrapper li.gfield fieldset {
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  width: 100%; }

.gform_wrapper li.gfield fieldset > * {
  width: auto; }

.gform_wrapper li.gfield fieldset legend.gfield_label {
  width: 100%;
  line-height: 32px; }

div.gf_page_steps + div.validation_error {
  margin-top: 16px; }

.gform_wrapper div.gfield_description.validation_error {
  color: #790000;
  font-weight: 700;
  font-size: .875em;
  line-height: 1.2;
  margin-bottom: 16px; }

.gform_wrapper .validation_message {
  color: #790000;
  font-weight: 700;
  letter-spacing: normal; }

.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type='file']), .gform_wrapper li.gfield_error textarea {
  border: 1px solid #790000; }

.gform_wrapper li.gfield_error div.ginput_complex.ginput_container label, .gform_wrapper li.gfield_error ul.gfield_checkbox, .gform_wrapper li.gfield_error ul.gfield_radio {
  color: #790000; }

.gform_wrapper .gform_footer {
  padding: 16px 0 10px;
  margin: 16px 0 0;
  clear: both;
  width: 100%; }

.gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer .wp-block-button input.wp-block-button__link, .wp-block-button .gform_wrapper .gform_footer input.wp-block-button__link, .gform_wrapper .gform_footer input[type=submit], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer .wp-block-button input.wp-block-button__link, .wp-block-button .gform_wrapper .gform_page_footer input.wp-block-button__link, .gform_wrapper .gform_page_footer input[type=submit] {
  font-size: 1em;
  width: 100%;
  margin: 0 0 16px; }

.gform_wrapper .gform_footer a.gform_save_link, .gform_wrapper .gform_page_footer a.gform_save_link {
  font-size: 1em;
  display: block;
  text-align: center; }

.gform_wrapper .gform_footer input[type=image] {
  padding: 0;
  width: auto !important;
  background: 0 0 !important;
  border: none !important;
  margin: 0 auto 16px !important;
  display: block;
  max-width: 100%; }

.gform_wrapper .ginput_complex .ginput_full, .gform_wrapper .ginput_complex .ginput_left, .gform_wrapper .ginput_complex .ginput_right {
  min-height: 45px; }

.gform_wrapper .gfield_error .ginput_complex .ginput_full input[type=email], .gform_wrapper .gfield_error .ginput_complex .ginput_full input[type=number], .gform_wrapper .gfield_error .ginput_complex .ginput_full input[type=password], .gform_wrapper .gfield_error .ginput_complex .ginput_full input[type=tel], .gform_wrapper .gfield_error .ginput_complex .ginput_full input[type=text], .gform_wrapper .gfield_error .ginput_complex .ginput_full input[type=url], .gform_wrapper .gfield_error .ginput_complex .ginput_full select, .gform_wrapper .ginput_complex .ginput_full input[type=email], .gform_wrapper .ginput_complex .ginput_full input[type=number], .gform_wrapper .ginput_complex .ginput_full input[type=password], .gform_wrapper .ginput_complex .ginput_full input[type=tel], .gform_wrapper .ginput_complex .ginput_full input[type=text], .gform_wrapper .ginput_complex .ginput_full input[type=url] {
  width: 100%; }

.gform_wrapper .gfield_checkbox li, .gform_wrapper .gfield_radio li {
  position: relative;
  margin: 0 0 16px;
  line-height: 1.2; }

.gchoice_select_all, .gform_wrapper ul.gfield_checkbox li input[type=checkbox]:checked + label, .gform_wrapper ul.gfield_radio li input[type=radio]:checked + label {
  font-weight: 700; }

.gform_wrapper input.datepicker.datepicker_with_icon {
  margin-right: 4px !important;
  display: -moz-inline-stack;
  display: inline-block; }

.gform_wrapper .gf_hidden, .gform_wrapper .gform_hidden, .gform_wrapper input.gform_hidden, .gform_wrapper input[type=hidden] {
  display: none !important;
  max-height: 1px !important;
  overflow: hidden; }

.gform_wrapper .gf_invisible, .gform_wrapper .gfield_visibility_hidden {
  visibility: hidden;
  position: absolute;
  left: -9999px; }

.gform_wrapper .ginput_full br, .gform_wrapper .ginput_left br, .gform_wrapper .ginput_right br {
  display: none !important; }

.gform_wrapper ul.gfield_checkbox li, .gform_wrapper ul.gfield_radio li {
  padding: 0 !important; }

.gform_wrapper ul.gfield_radio li input + input {
  margin-left: 4px; }

.gform_wrapper ul.gfield_radio li input[value=gf_other_choice] {
  margin-right: 6px;
  margin-top: 4px; }

.gform_wrapper .gfield_description + .gform_wrapper .gfield_description.validation_message {
  margin-top: 6px; }

.gform_wrapper .ginput_container.ginput_list + .gfield_description.validation_message {
  margin-top: 0; }

.gform_wrapper li.gfield_html {
  max-width: 100%; }

.gform_wrapper .gfield_html.gfield_no_follows_desc {
  margin-top: 10px; }

body .gform_wrapper ul li.gfield.gfield_html img {
  max-width: 100% !important; }

.gform_wrapper .gform_ajax_spinner {
  padding-left: 10px; }

.gform_validation_container, .gform_wrapper .gform_validation_container, body .gform_wrapper .gform_body ul.gform_fields li.gfield.gform_validation_container, body .gform_wrapper li.gform_validation_container, body .gform_wrapper ul.gform_fields li.gfield.gform_validation_container {
  display: none !important;
  position: absolute !important;
  left: -9000px; }

.gform_wrapper .gfield_captcha_input_container {
  padding-top: 3px; }

.gform_wrapper .simple_captcha_small input {
  width: 64px; }

.gform_wrapper .simple_captcha_medium input {
  width: 96px; }

.gform_wrapper .simple_captcha_large input {
  width: 128px; }

.gform_wrapper .gform_wrapper .left_label .simple_captcha_small, .gform_wrapper .left_label .simple_captcha_large, .gform_wrapper .left_label .simple_captcha_medium, .gform_wrapper .right_label .simple_captcha_large, .gform_wrapper .right_label .simple_captcha_medium, .gform_wrapper .right_label .simple_captcha_small {
  margin-left: 32%; }

.gform_wrapper .gfield_captcha_container img.gfield_captcha {
  border: none !important;
  background: 0 0 !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important; }

.gform_wrapper .left_label .math_large, .gform_wrapper .left_label .math_medium, .gform_wrapper .left_label .math_small, .gform_wrapper .left_label div.charleft, .gform_wrapper .right_label .math_large, .gform_wrapper .right_label .math_medium, .gform_wrapper .right_label .math_small, .gform_wrapper .right_label div.charleft {
  margin-left: 32%; }

.gform_wrapper .math_small input {
  width: 70px; }

.gform_wrapper .math_medium input {
  width: 510px; }

.gform_wrapper .math_large input {
  width: 612px; }

.gform_wrapper div.charleft {
  font-size: .688em;
  margin-top: 4px;
  color: #767676;
  width: 92% !important; }

.gform_wrapper div.charleft[style] {
  width: 92% !important; }

.gform_wrapper div.charleft.ginput_counter_tinymce {
  border: 1px solid #eee;
  border-width: 1px 0 0;
  padding: 4px 9px;
  width: 100% !important; }

.gform_wrapper div.charleft.warningTextareaInfo {
  color: #767676; }

.gform_wrapper div.charleft.ginput_counter_error {
  color: red; }

.gform_wrapper li.gf_hide_charleft div.charleft {
  display: none !important; }

.gf_submission_limit_message {
  color: #790000;
  font-size: 1.375em; }

.gform_wrapper .ginput_price {
  filter: alpha(opacity=70);
  -moz-opacity: .7;
  -khtml-opacity: .7;
  opacity: .7; }

.gform_wrapper span.ginput_total {
  color: #060;
  font-size: inherit; }

.gform_wrapper .top_label span.ginput_total {
  margin: 8px 0; }

.gform_wrapper span.ginput_product_price_label {
  margin-right: 2px; }

.gform_wrapper span.ginput_product_price {
  color: #900; }

.gform_wrapper span.ginput_quantity_label {
  margin-left: 10px;
  margin-right: 2px; }

.gform_wrapper input.ginput_quantity[type=text] {
  width: 3rem; }

.gform_wrapper input.ginput_quantity[type=number] {
  width: 4rem; }

.gform_wrapper .gform_page_footer {
  margin: 14px 0;
  width: 100%;
  border-top: 1px dotted #CCC;
  padding: 16px 0 0;
  clear: both; }

.gform_wrapper .gform_page_footer.left_label, .gform_wrapper .gform_page_footer.right_label {
  padding: 16px 0 0 29%; }

.gform_wrapper .gform_page_footer .button.gform_next_button, .gform_wrapper .gform_page_footer .wp-block-button .gform_next_button.wp-block-button__link, .wp-block-button .gform_wrapper .gform_page_footer .gform_next_button.wp-block-button__link, .gform_wrapper .gform_page_footer .button.gform_previous_button, .gform_wrapper .gform_page_footer .wp-block-button .gform_previous_button.wp-block-button__link, .wp-block-button .gform_wrapper .gform_page_footer .gform_previous_button.wp-block-button__link {
  display: -moz-inline-stack;
  display: inline-block; }

.gform_wrapper .gform_page_footer .button.gform_previous_button, .gform_wrapper .gform_page_footer .wp-block-button .gform_previous_button.wp-block-button__link, .wp-block-button .gform_wrapper .gform_page_footer .gform_previous_button.wp-block-button__link {
  margin-bottom: 8px; }

.gform_wrapper .gf_progressbar_wrapper {
  clear: both;
  width: 100%;
  margin: 0 0 16px;
  padding: 0 0 16px; }

.gform_wrapper .gf_progressbar_wrapper h3.gf_progressbar_title {
  font-size: .813em;
  line-height: 1 !important;
  margin: 0 0 8px 12px !important;
  padding: 0 !important;
  clear: both;
  filter: alpha(opacity=60);
  -moz-opacity: .6;
  -khtml-opacity: .6;
  opacity: .6; }

.gform_wrapper .gf_progressbar {
  padding: 10px;
  position: relative;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 25px;
  box-shadow: inset 0 0 1px 1px rgba(0, 0, 0, 0.05);
  width: 100%; }

.gform_wrapper .gf_progressbar_percentage {
  height: 24px;
  text-align: right;
  font-family: helvetica,arial,sans-serif;
  font-size: 0.813em !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  z-index: 999;
  vertical-align: middle;
  background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0) 10px, rgba(0, 0, 0, 0.1) 10px, rgba(0, 0, 0, 0.1) 20px), linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3));
  border-radius: 20px 4px 4px 20px; }

.gform_wrapper .gf_progressbar:after {
  display: block;
  width: 100%;
  z-index: 990;
  height: 24px;
  margin-top: -24px;
  background-color: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 0 2px 2px rgba(0, 0, 0, 0.05);
  border-radius: 20px; }

.gform_wrapper .gf_progressbar_percentage.percentbar_100 {
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px; }

.gform_wrapper .gf_progressbar_percentage span {
  display: block;
  width: auto;
  float: right;
  margin-right: 5px;
  margin-left: 5px;
  line-height: 1.8; }

.gform_wrapper .gf_progressbar_percentage.percentbar_0 span {
  color: #959595;
  text-shadow: none;
  float: none !important;
  margin-left: 12px;
  word-wrap: normal; }

.gform_wrapper .percentbar_blue {
  background-color: #036493;
  color: #FFF; }

.gform_wrapper .percentbar_gray {
  background-color: #7C7C7C;
  color: #FFF; }

.gform_wrapper .percentbar_green {
  background-color: #88B831;
  color: #FFF; }

.gform_wrapper .percentbar_orange {
  background-color: #FF7120;
  color: #FFF; }

.gform_wrapper .percentbar_red {
  background-color: #FF2A1A;
  color: #FFF; }

.gform_wrapper .gf_page_steps {
  width: 100%;
  margin: 0 0 8px;
  padding: 0 0 4px;
  border-bottom: 1px dotted #CCC; }

.gform_wrapper .gf_step {
  width: 100%;
  margin: 24px 24px 24px 0;
  font-size: .875em;
  height: 14px;
  line-height: 1.25 !important;
  filter: alpha(opacity=20);
  -moz-opacity: .2;
  -khtml-opacity: .2;
  opacity: .2;
  font-family: inherit; }

.gform_wrapper .gf_step span.gf_step_number {
  font-size: 1.25em;
  font-family: arial,sans-serif;
  margin-right: 4px; }

.gform_wrapper .gf_step span.gf_step_label, .gform_wrapper .gf_step span.gf_step_number {
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: middle; }

.gform_wrapper .gf_step.gf_step_active {
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  -khtml-opacity: 1;
  opacity: 1; }

.gform_wrapper .gf_step_clear {
  display: block;
  clear: both;
  height: 1px;
  overflow: hidden; }

.gform_wrapper .gfield_password_strength {
  border: 1px solid #DDD;
  margin-top: 18px;
  margin-bottom: 18px;
  line-height: 1.8;
  padding: 10px 5px;
  text-align: center;
  background-color: #EEE;
  border-bottom: 3px solid #DDD; }

.gform_wrapper ul.top_label li.gfield.gfield_error.gfield_contains_required .gfield_password_strength {
  margin-right: 16px; }

.gform_wrapper ul.left_label li.gfield .gfield_password_strength, .gform_wrapper ul.right_label li.gfield .gfield_password_strength {
  margin-top: 18px;
  margin-bottom: 18px;
  width: 100%; }

.gform_wrapper .gfield_password_strength.bad {
  background-color: #FFB78C;
  border-color: #FF853C;
  border-bottom: 3px solid #FF853C; }

.gform_wrapper .gfield_password_strength.good {
  background-color: #FFEC8b;
  border-color: #FC0;
  border-bottom: 3px solid #FC0; }

.gform_wrapper .gfield_password_strength.mismatch, .gform_wrapper .gfield_password_strength.short {
  background-color: #FFA0A0;
  border-color: #f04040;
  border-bottom: 3px solid #f04040; }

.gform_wrapper .gfield_password_strength.strong {
  background-color: #C3FF88;
  border-color: #8DFF1C;
  border-bottom: 3px solid #8DFF1C; }

.gform_wrapper table.gfield_list, .gform_wrapper table.gfield_list caption, .gform_wrapper table.gfield_list tbody, .gform_wrapper table.gfield_list td, .gform_wrapper table.gfield_list tfoot, .gform_wrapper table.gfield_list th, .gform_wrapper table.gfield_list thead, .gform_wrapper table.gfield_list tr {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline; }

.gform_wrapper table.gfield_list {
  border-spacing: 0;
  border-collapse: collapse;
  table-layout: auto !important; }

.gfield_repeater_buttons {
  padding-top: 15px; }

.gform_wrapper table.gfield_list thead th {
  font-weight: 700;
  text-align: left; }

.gform_wrapper table.gfield_list colgroup {
  width: 100%;
  display: block; }

.gform_wrapper li.gfield.gfield_error table.gfield_list thead th {
  color: #790000; }

.gform_wrapper table.gfield_list thead, .gform_wrapper table.gfield_list tr {
  padding: 0;
  margin: 0; }

.gform_wrapper table.gfield_list td, .gform_wrapper table.gfield_list th {
  padding: 4px 0; }

.gform_wrapper ul.gform_fields:not(.top_label) table.gfield_list th {
  padding: 0 0 4px; }

.gform_wrapper table.gfield_list td + td, .gform_wrapper table.gfield_list th + th {
  padding: 0 0 0 16px; }

.gform_wrapper .gfield_list, .gform_wrapper .gfield_list td.gfield_list_cell input {
  width: 100%; }

.gfield_icon_disabled {
  cursor: default !important;
  filter: alpha(opacity=60);
  -moz-opacity: .6;
  -khtml-opacity: .6;
  opacity: .6; }

.gform_wrapper table.gfield_list tr td.gfield_list_icons {
  width: 48px !important;
  padding: 0 0 0 4px !important;
  box-sizing: border-box; }

.gform_wrapper table.gfield_list td.gfield_list_icons img {
  display: -moz-inline-stack;
  display: inline-block;
  vertical-align: middle; }

.gform_wrapper .gform_card_icon_container {
  margin: 8px 0 6px;
  height: 32px; }

.gform_wrapper div.gform_card_icon {
  margin-right: 4px;
  text-indent: -9000px;
  background-image: url(../images/gf-creditcard-icons.png);
  background-repeat: no-repeat;
  width: 36px;
  height: 32px;
  float: left; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_visa {
  background-position: 0 0; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_visa {
  background-position: 0 -32px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_visa {
  background-position: 0 -64px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_mastercard {
  background-position: -36px 0; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_mastercard {
  background-position: -36px -32px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_mastercard {
  background-position: -36px -64px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_amex {
  background-position: -72px 0; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_amex {
  background-position: -72px -32px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_amex {
  background-position: -72px -64px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_discover {
  background-position: -108px 0; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_discover {
  background-position: -108px -32px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_discover {
  background-position: -108px -64px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_maestro {
  background-position: -144px 0; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_maestro {
  background-position: -144px -32px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_maestro {
  background-position: -144px -64px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_jcb {
  background-position: -180px 0; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_jcb {
  background-position: -180px -32px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style1 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_jcb {
  background-position: -180px -64px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_visa {
  background-position: 0 -192px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_visa {
  background-position: 0 -224px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_visa {
  background-position: 0 -256px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_mastercard {
  background-position: -36px -192px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_mastercard {
  background-position: -36px -224px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_mastercard {
  background-position: -36px -256px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_amex {
  background-position: -72px -192px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_amex {
  background-position: -72px -224px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_amex {
  background-position: -72px -256px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_discover {
  background-position: -108px -192px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_discover {
  background-position: -108px -224px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_discover {
  background-position: -108px -256px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_maestro {
  background-position: -144px -192px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_maestro {
  background-position: -144px -224px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_maestro {
  background-position: -144px -256px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_jcb {
  background-position: -180px -192px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_selected.gform_card_icon_jcb {
  background-position: -180px -224px; }

.gform_wrapper .gform_card_icon_container.gform_card_icon_style2 div.gform_card_icon.gform_card_icon_inactive.gform_card_icon_jcb {
  background-position: -180px -256px; }

.gform_card_icon_container input[type=radio]#gform_payment_method_creditcard {
  float: left;
  position: relative;
  top: 4px !important; }

.gform_wrapper .ginput_complex .ginput_cardinfo_right {
  min-width: 85px !important; }

.gform_wrapper .ginput_complex span.ginput_cardextras {
  display: block;
  overflow: hidden; }

.gform_wrapper .ginput_complex .ginput_cardinfo_left span.ginput_card_expiration_container {
  position: relative;
  display: block;
  min-width: 160px !important; }

.gform_wrapper .ginput_complex .ginput_cardinfo_left span.ginput_card_expiration_container select {
  margin-bottom: 8px; }

.gform_wrapper .ginput_complex .ginput_cardinfo_right input.ginput_card_security_code {
  max-width: 50% !important; }

.gform_wrapper .ginput_complex .ginput_cardinfo_right span.ginput_card_security_code_icon {
  width: 32px;
  height: 23px;
  background-image: url(../images/gf-creditcard-icons.png);
  background-repeat: no-repeat;
  background-position: 0 -128px;
  position: relative;
  top: -1px;
  left: 6px;
  display: -moz-inline-stack;
  display: inline-block; }

.gform_wrapper .gform_fileupload_multifile .gform_drop_area {
  padding: 24px;
  border: 1px dashed #CCC;
  text-align: center;
  color: #AAA;
  margin-bottom: 16px;
  background: rgba(0, 0, 0, 0.02);
  border-radius: 4px; }

.gform_wrapper span.gform_drop_instructions {
  display: block;
  margin-bottom: 8px; }

.gform_delete {
  vertical-align: middle;
  cursor: pointer; }

.gform_wrapper .copy_values_option_container .copy_values_enabled {
  width: auto; }

.gform_wrapper li.field_sublabel_above .ginput_complex input[type=text] {
  margin-bottom: 1px; }

.gform_wrapper .form_saved_message {
  margin: 1em auto;
  padding: 3em 2em;
  width: 99%;
  font-size: 1em;
  line-height: 1.8;
  color: #31708f;
  background-color: #e3f3f3;
  text-align: center;
  border-radius: 2px; }

.gform_wrapper .form_saved_message form {
  text-align: center; }

.form_saved_message p.resume_form_link_wrapper {
  background-color: white;
  display: inline-block;
  padding: 1em;
  border-radius: 2px;
  max-width: 98% !important;
  overflow: hidden;
  box-shadow: 0 3px 2px 0 rgba(66, 103, 126, 0.2); }

.form_saved_message a.resume_form_link {
  word-wrap: break-word;
  text-decoration: none;
  color: #2f637e; }

.form_saved_message .form_saved_message_emailform {
  margin: 1em 0 0; }

.form_saved_message label.form_saved_label {
  position: absolute;
  left: -9000px; }

div.form_saved_message div.form_saved_message_emailform form input[type=text] {
  margin-bottom: .25em; }

div.form_saved_message div.form_saved_message_emailform form input {
  margin: .75em auto 0;
  display: inline-block; }

div.form_saved_message div.form_saved_message_emailform form input[type=email] {
  padding: calc(.75em - 1px) !important;
  width: 24em;
  max-width: 98% !important;
  font-size: 1em;
  background-color: white;
  border: 1px solid #91afc7;
  color: #424242;
  border-radius: 2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-shadow: inset 0 0 5px 0 #eeeeee; }

div.form_saved_message div.form_saved_message_emailform form input[type=submit] {
  padding: .75em 1em;
  font-size: 1em;
  line-height: 1;
  background-color: #91afc7;
  border: 1px solid #91afc7;
  color: white;
  text-transform: uppercase;
  border-radius: 2px;
  -webkit-appearance: none;
  -moz-appearance: none; }

@media only screen and (max-width: 640px) {
  div.form_saved_message div.form_saved_message_emailform form input[type=email], div.form_saved_message div.form_saved_message_emailform form input[type=submit] {
    display: block;
    width: 98%; } }

.form_saved_message .form_saved_message_emailform .validation_message {
  color: #790000;
  font-weight: 700;
  padding: 2em; }

.form_saved_message_sent {
  margin: 1em auto;
  padding: 3em 2em;
  width: 99%;
  font-size: 1em;
  background-color: #e9ffd9;
  color: #3c763d;
  text-align: center;
  border-radius: 2px;
  box-sizing: border-box; }

.form_saved_message_sent .saved_message_email, .form_saved_message_sent .saved_message_success {
  font-weight: 700;
  display: block;
  line-height: 2; }

.form_saved_message_sent .saved_message_email {
  word-wrap: break-word;
  text-decoration: underline; }

body #content .entry-content .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container #recaptcha_widget_div #recaptcha_area .recaptchatable tbody tr td .recaptcha_input_area, body .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container #recaptcha_widget_div #recaptcha_area .recaptchatable tbody tr td .recaptcha_input_area {
  line-height: 1 !important; }

body .gform_wrapper img.ui-datepicker-trigger {
  width: 17px !important;
  height: 16px !important;
  display: -moz-inline-stack;
  display: inline-block; }

body .gform_wrapper img.add_list_item, body .gform_wrapper img.delete_list_item {
  display: -moz-inline-stack;
  display: inline-block;
  margin-top: -2px; }

.gform_wrapper ul li.gfield.field_sublabel_above.field_description_below + li.gfield {
  margin-top: 16px; }

.gform_wrapper li.gfield ul.gfield_radio li input[type=radio] + input[type=text] {
  width: 45.25%; }

.gform_wrapper table.recaptchatable {
  table-layout: auto; }

.gform_wrapper ul.gform_fields:not(.top_label) div.ginput_container_captcha {
  margin-left: 29%; }

.gfield .wp-editor-container {
  border: 1px solid #ddd; }

.gfield .wp-switch-editor {
  border-color: #ddd; }

.gfield .html-active .switch-html, .gfield .tmce-active .switch-tmce {
  border-bottom-color: #f5f5f5; }

.gfield .mce-edit-area iframe {
  width: 99.9% !important;
  margin: 0 !important; }

body .gform_wrapper ul li.gfield {
  margin-top: 16px;
  padding-top: 0; }

body .gform_wrapper ul.gfields li.gfield label.gfield_label {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html {
  line-height: inherit; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ul li, body .gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ul li {
  list-style-type: disc !important;
  margin: 0 0 8px;
  overflow: visible;
  padding-left: 0; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ul, body .gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ul {
  list-style-type: disc !important;
  margin: 16px 0 16px 28px !important;
  padding-left: 0; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ol li, body .gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ol li {
  list-style-type: decimal !important;
  overflow: visible;
  margin: 0 0 8px;
  padding-left: 0; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ol, body .gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ol {
  list-style-type: decimal !important;
  margin: 16px 0 18px 32px;
  padding-left: 0; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ol li ul, body .gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ol li ul li {
  list-style-type: disc !important;
  padding-left: 0; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html ol li ul {
  margin: 16px 0 16px 16px; }

body .gform_wrapper form div.gform_body ul.gform_fields li.gfield.gfield_html ol li ul li {
  margin: 0 0 8px; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html dl {
  margin: 0 0 18px;
  padding-left: 0; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html dl dt {
  font-weight: 700; }

body .gform_wrapper div.gform_body ul.gform_fields li.gfield.gfield_html dl dd {
  margin: 0 0 16px 18px; }

.gform_wrapper span.gf_clear_span {
  display: block;
  height: 1px;
  overflow: hidden;
  width: 100%;
  float: none;
  clear: both;
  margin-top: -1px; }

.gform_wrapper .chosen-container {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.gform_wrapper .chosen-container * {
  box-sizing: border-box; }

.gform_wrapper .chosen-container .chosen-drop {
  position: absolute;
  top: 100%;
  z-index: 1010;
  width: 100%;
  border: 1px solid #aaa;
  border-top: 0;
  background: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
  display: none; }

.gform_wrapper .chosen-container.chosen-with-drop .chosen-drop {
  display: block; }

.gform_wrapper .chosen-container a {
  cursor: pointer; }

.gform_wrapper .chosen-container .chosen-single .group-name, .gform_wrapper .chosen-container .search-choice .group-name {
  margin-right: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-weight: 400;
  color: #999; }

.gform_wrapper .chosen-container .chosen-single .group-name:after, .gform_wrapper .chosen-container .search-choice .group-name:after {
  content: ":";
  padding-left: 2px;
  vertical-align: top; }

.gform_wrapper .chosen-container-single .chosen-single {
  position: relative;
  display: block;
  overflow: hidden;
  padding: 0 0 0 8px;
  height: 25px;
  border: 1px solid #aaa;
  border-radius: 5px;
  background-color: #fff;
  background: linear-gradient(#fff 20%, #f6f6f6 50%, #eee 52%, #f4f4f4 100%);
  background-clip: padding-box;
  box-shadow: 0 0 3px #fff inset, 0 1px 1px rgba(0, 0, 0, 0.1);
  color: #444;
  text-decoration: none;
  white-space: nowrap;
  line-height: 24px; }

.gform_wrapper .chosen-container-single .chosen-single input[type=text] {
  cursor: pointer;
  opacity: 0;
  position: absolute;
  width: 0; }

.gform_wrapper .chosen-container-single .chosen-default {
  color: #999; }

.gform_wrapper .chosen-container-single .chosen-single span {
  display: block;
  overflow: hidden;
  margin-right: 26px;
  text-overflow: ellipsis;
  white-space: nowrap; }

.gform_wrapper .chosen-container-single .chosen-single-with-deselect span {
  margin-right: 38px; }

.gform_wrapper .chosen-container-single .chosen-single abbr {
  position: absolute;
  top: 6px;
  right: 26px;
  display: block;
  width: 12px;
  height: 12px;
  background: url(chosen-sprite.png) -42px 1px no-repeat;
  font-size: 1px; }

.gform_wrapper .chosen-container-single .chosen-single abbr:hover, .gform_wrapper .chosen-container-single.chosen-disabled .chosen-single abbr:hover {
  background-position: -42px -10px; }

.gform_wrapper .chosen-container-single .chosen-single div {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 18px;
  height: 100%; }

.gform_wrapper .chosen-container-single .chosen-single div b {
  display: block;
  width: 100%;
  height: 100%;
  background: url(chosen-sprite.png) 0 2px no-repeat; }

.gform_wrapper .chosen-container-single .chosen-search {
  position: relative;
  z-index: 1010;
  margin: 0;
  padding: 3px 4px;
  white-space: nowrap; }

.gform_wrapper .chosen-container-single .chosen-search input[type=text] {
  margin: 1px 0;
  padding: 4px 20px 4px 5px;
  width: 100%;
  height: auto;
  outline: 0;
  border: 1px solid #aaa;
  background: url(chosen-sprite.png) 100% -20px no-repeat;
  font-size: 1em;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0; }

.gform_wrapper .chosen-container-single .chosen-drop {
  margin-top: -1px;
  border-radius: 0 0 4px 4px;
  background-clip: padding-box; }

.gform_wrapper .chosen-container-single.chosen-container-single-nosearch .chosen-search {
  position: absolute;
  opacity: 0;
  pointer-events: none; }

.gform_wrapper .chosen-container .chosen-results {
  color: #444;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 4px 4px 0;
  padding: 0 0 0 4px;
  max-height: 240px;
  -webkit-overflow-scrolling: touch; }

.gform_wrapper .chosen-container .chosen-results li {
  display: none;
  margin: 0;
  padding: 5px 6px;
  list-style: none;
  line-height: 15px;
  word-wrap: break-word;
  -webkit-touch-callout: none; }

.gform_wrapper .chosen-container .chosen-results li.active-result {
  display: list-item;
  cursor: pointer; }

.gform_wrapper .chosen-container .chosen-results li.disabled-result {
  display: list-item;
  color: #ccc;
  cursor: default; }

.gform_wrapper .chosen-container .chosen-results li.highlighted {
  background-color: #3875d7;
  background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
  color: #fff; }

.gform_wrapper .chosen-container .chosen-results li.no-results {
  color: #777;
  display: list-item;
  background: #f4f4f4; }

.gform_wrapper .chosen-container .chosen-results li.group-result {
  display: list-item;
  font-weight: 700;
  cursor: default; }

.gform_wrapper .chosen-container .chosen-results li.group-option {
  padding-left: 15px; }

.gform_wrapper .chosen-container .chosen-results li em {
  font-style: normal;
  text-decoration: underline; }

.gform_wrapper .chosen-container-multi .chosen-choices {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0 5px;
  width: 100%;
  height: auto;
  border: 1px solid #aaa;
  background-color: #fff;
  background-image: linear-gradient(#eee 1%, #fff 15%);
  cursor: text; }

.gform_wrapper .chosen-container-multi .chosen-choices li {
  float: left;
  list-style: none; }

.gform_wrapper .chosen-container-multi .chosen-choices li.search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap; }

.gform_wrapper .chosen-container-multi .chosen-choices li.search-field input[type=text] {
  margin: 1px 0;
  padding: 0;
  height: 25px;
  outline: 0;
  border: 0 !important;
  background: 0 0 !important;
  box-shadow: none;
  color: #999;
  font-size: 100%;
  font-family: sans-serif;
  line-height: normal;
  border-radius: 0;
  width: 25px; }

.gform_wrapper .chosen-container-multi .chosen-choices li.search-choice {
  position: relative;
  margin: 3px 5px 3px 0;
  padding: 3px 20px 3px 5px;
  border: 1px solid #aaa;
  max-width: 100%;
  border-radius: 3px;
  background-color: #eee;
  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
  background-size: 100% 19px;
  background-repeat: repeat-x;
  background-clip: padding-box;
  box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
  color: #333;
  line-height: 13px;
  cursor: default; }

.gform_wrapper .chosen-container-multi .chosen-choices li.search-choice span {
  word-wrap: break-word; }

.gform_wrapper .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  position: absolute;
  top: 4px;
  right: 3px;
  display: block;
  width: 12px;
  height: 12px;
  background: url(chosen-sprite.png) -42px 1px no-repeat;
  font-size: 1px; }

.gform_wrapper .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
  background-position: -42px -10px; }

.gform_wrapper .chosen-container-multi .chosen-choices li.search-choice-disabled {
  padding-right: 5px;
  border: 1px solid #ccc;
  background-color: #e4e4e4;
  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
  color: #666; }

.gform_wrapper .chosen-container-multi .chosen-choices li.search-choice-focus {
  background: #d4d4d4; }

.gform_wrapper .chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
  background-position: -42px -10px; }

.gform_wrapper .chosen-container-multi .chosen-results {
  margin: 0;
  padding: 0; }

.gform_wrapper .chosen-container-multi .chosen-drop .result-selected {
  display: list-item;
  color: #ccc;
  cursor: default; }

.gform_wrapper .chosen-container-active .chosen-single {
  border: 1px solid #5897fb;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

.gform_wrapper .chosen-container-active.chosen-with-drop .chosen-single {
  border: 1px solid #aaa;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-image: linear-gradient(#eee 20%, #fff 80%);
  box-shadow: 0 1px 0 #fff inset; }

.gform_wrapper .chosen-container-active.chosen-with-drop .chosen-single div {
  border-left: none;
  background: 0 0; }

.gform_wrapper .chosen-container-active.chosen-with-drop .chosen-single div b {
  background-position: -18px 2px; }

.gform_wrapper .chosen-container-active .chosen-choices {
  border: 1px solid #5897fb;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

.gform_wrapper .chosen-container-active .chosen-choices li.search-field input[type=text] {
  color: #222 !important; }

.gform_wrapper .chosen-disabled {
  opacity: 0.5 !important;
  cursor: default; }

.gform_wrapper .chosen-disabled .chosen-choices .search-choice .search-choice-close, .gform_wrapper .chosen-disabled .chosen-single {
  cursor: default; }

.gform_wrapper .chosen-rtl {
  text-align: right; }

.gform_wrapper .chosen-rtl .chosen-single {
  overflow: visible;
  padding: 0 8px 0 0; }

.gform_wrapper .chosen-rtl .chosen-single span {
  margin-right: 0;
  margin-left: 26px;
  direction: rtl; }

.gform_wrapper .chosen-rtl .chosen-single-with-deselect span {
  margin-left: 38px; }

.gform_wrapper .chosen-rtl .chosen-single div {
  right: auto;
  left: 3px; }

.gform_wrapper .chosen-rtl .chosen-single abbr {
  right: auto;
  left: 26px; }

.gform_wrapper .chosen-rtl .chosen-choices li {
  float: right; }

.gform_wrapper .chosen-rtl .chosen-choices li.search-field input[type=text] {
  direction: rtl; }

.gform_wrapper .chosen-rtl .chosen-choices li.search-choice {
  margin: 3px 5px 3px 0;
  padding: 3px 5px 3px 19px; }

.gform_wrapper .chosen-rtl .chosen-choices li.search-choice .search-choice-close {
  right: auto;
  left: 4px; }

.gform_wrapper .chosen-rtl.chosen-container-single .chosen-results {
  margin: 0 0 4px 4px;
  padding: 0 4px 0 0; }

.gform_wrapper .chosen-rtl .chosen-results li.group-option {
  padding-right: 15px;
  padding-left: 0; }

.gform_wrapper .chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
  border-right: none; }

.gform_wrapper .chosen-rtl .chosen-search input[type=text] {
  padding: 4px 5px 4px 20px;
  background: url(chosen-sprite.png) -30px -20px no-repeat;
  direction: rtl; }

.gform_wrapper .chosen-rtl.chosen-container-single .chosen-single div b {
  background-position: 6px 2px; }

.gform_wrapper .chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
  background-position: -12px 2px; }

@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi), only screen and (min-resolution: 1.5dppx) {
  .gform_wrapper .chosen-container .chosen-results-scroll-down span, .gform_wrapper .chosen-container .chosen-results-scroll-up span, .gform_wrapper .chosen-container-multi .chosen-choices .search-choice .search-choice-close, .gform_wrapper .chosen-container-single .chosen-search input[type=text], .gform_wrapper .chosen-container-single .chosen-single abbr, .gform_wrapper .chosen-container-single .chosen-single div b, .gform_wrapper .chosen-rtl .chosen-search input[type=text] {
    background-image: url(chosen-sprite@2x.png) !important;
    background-size: 52px 37px !important;
    background-repeat: no-repeat !important; } }

body .gform_wrapper .chosen-container a.chosen-single {
  border-radius: inherit; }

body .gform_wrapper ul.chosen-results li {
  line-height: inherit; }

@media only screen and (max-width: 641px) {
  .gform_wrapper .chosen-container.chosen-container-single[style], .gform_wrapper div.chosen-container.chosen-container-multi[style] {
    width: 100% !important; }
  .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type='file']) {
    line-height: 2;
    min-height: 2rem; }
  .gform_wrapper textarea {
    line-height: 1.5; }
  .gform_wrapper .chosen-container-single .chosen-single {
    height: 40px;
    line-height: 2.8; }
  .gform_wrapper .chosen-container-single .chosen-single div b {
    position: relative;
    top: 10px; }
  .gform_wrapper .chosen-container.chosen-container-multi ul.chosen-choices li.search-choice, .gform_wrapper .chosen-container.chosen-container-multi ul.chosen-choices li.search-field {
    width: 100%;
    line-height: inherit;
    float: none; }
  .gform_wrapper .chosen-container.chosen-container-multi ul.chosen-choices li.search-choice span {
    margin-bottom: 0; }
  .gform_wrapper .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    top: calc(50% - 6px); }
  .gform_wrapper .ginput_container span:not(.ginput_price) {
    margin-bottom: 8px;
    display: block; }
  .gform_wrapper li.field_sublabel_below .ginput_complex {
    margin-top: 12px !important; }
  .gform_wrapper ul.gfield_checkbox li label, .gform_wrapper ul.gfield_radio li label {
    width: 85%;
    cursor: pointer; } }

@media only screen and (max-width: 761px), (min-device-width: 768px) and (max-device-width: 1023px) {
  .gform_wrapper ul.gform_fields li.gfield.gfield_error + li.gfield.gfield_error {
    margin-top: 32px; }
  .gform_wrapper table.gfield_list {
    border: 0; }
  .gform_wrapper table.gfield_list thead {
    position: absolute;
    top: -9999px;
    left: -9999px; }
  .gform_wrapper table.gfield_list tr {
    margin-bottom: 10px;
    display: block;
    background: #fff;
    position: relative;
    border: 1px solid #CCC;
    border-top: 2px solid #CCC;
    border-bottom: 4px solid #CCC; }
  .gform_wrapper table.gfield_list td {
    display: block;
    margin-left: 8px;
    margin-right: 8px; }
  .gform_wrapper table.gfield_list td.gfield_list_icons {
    border-bottom: 0;
    margin: 16px 0 0 !important; }
  .gform_wrapper ul.gform_fields.form_sublabel_above table.gfield_list td:before, .gform_wrapper ul.gform_fields.form_sublabel_below table.gfield_list td:after {
    content: attr(data-label);
    font-size: .875em;
    letter-spacing: .5pt;
    white-space: nowrap;
    display: block;
    clear: both; }
  .gform_wrapper ul.gform_fields.form_sublabel_above table.gfield_list td:before {
    margin: 8px 0 3px 8px; }
  .gform_wrapper ul.gform_fields.form_sublabel_below table.gfield_list td:after {
    margin: 3px 0 8px 8px; }
  .gform_wrapper table.gfield_list td + td, .gform_wrapper table.gfield_list th + th {
    padding: 4px 0 0; }
  .gform_wrapper table.gfield_list tr.gfield_list_row_even, .gform_wrapper table.gfield_list tr.gfield_list_row_odd {
    margin: 16px 0; }
  .gform_wrapper table.gfield_list tr, .gform_wrapper table.gfield_list tr.gfield_list_row_odd:first-child {
    padding-top: 12px; }
  .gform_wrapper table.gfield_list tr td.gfield_list_icons {
    width: 100% !important;
    padding: 0 4px 4px !important;
    background-color: #EEE; }
  .gform_wrapper table.gfield_list tr td.gfield_list_icons img.add_list_item {
    margin: 12px 0 0 16px !important; }
  .gform_wrapper table.gfield_list tr td.gfield_list_icons img.delete_list_item {
    margin: 12px 0 0 8px !important; }
  .gform_wrapper .gform_footer a.gform_save_link, .gform_wrapper .gform_page_footer a.gform_save_link {
    margin-left: 0; }
  .gform_wrapper .gfield_list td.gfield_list_cell input {
    width: calc(100% - 16px);
    margin-left: 8px;
    margin-right: 8px; } }

@media only screen and (min-width: 641px) {
  .gform_wrapper .gform_body {
    width: 100%; }
  .gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
    max-width: calc(100% - 16px) !important; }
  .gform_wrapper .gfield_checkbox li, .gform_wrapper .gfield_radio li {
    margin: 0 0 8px;
    line-height: 1.3; }
  .gform_wrapper .gsection {
    margin: 28px 16px 28px 0; }
  .gform_wrapper ul.gform_fields:not(.top_label) .gfield_label {
    float: left;
    width: 29%;
    padding-right: 16px;
    margin-bottom: 16px; }
  .gform_wrapper .right_label .gfield_label {
    text-align: right; }
  .gform_wrapper .left_label .gfield_description, .gform_wrapper .right_label .gfield_description {
    width: 70%; }
  .gform_wrapper form ul.left_label li ul.gfield_checkbox li, .gform_wrapper form ul.left_label li ul.gfield_radio li, .gform_wrapper form ul.right_label li ul.gfield_checkbox li, .gform_wrapper form ul.right_label li ul.gfield_radio li, .gform_wrapper ul.left_label li ul.gfield_checkbox li, .gform_wrapper ul.left_label li ul.gfield_radio li, .gform_wrapper ul.right_label li ul.gfield_checkbox li, .gform_wrapper ul.right_label li ul.gfield_radio li {
    margin-bottom: 10px; }
  .gform_wrapper .left_label .gfield_description, .gform_wrapper .left_label .instruction, .gform_wrapper .right_label .gfield_description, .gform_wrapper .right_label .instruction {
    margin-left: 29%; }
  .gform_wrapper ul.gform_fields:not(.top_label) .gsection .gsection_description {
    margin-left: 0;
    padding-top: 4px;
    padding-left: 0;
    line-height: 1.5; }
  .gform_wrapper form ul.gform_fields:not(.top_label) li.gfield_html_formatted {
    margin-left: 29% !important;
    width: 70%; }
  .gform_wrapper ul.gform_fields:not(.top_label) ul.gfield_checkbox, .gform_wrapper ul.gform_fields:not(.top_label) ul.gfield_radio {
    overflow: hidden; }
  .gform_wrapper .left_label div.ginput_complex, .gform_wrapper .right_label div.ginput_complex {
    width: 70%;
    margin-left: 29%; }
  .gform_wrapper .left_label input.small, .gform_wrapper .left_label select.small, .gform_wrapper .right_label input.small, .gform_wrapper .right_label select.small {
    width: 15%; }
  .gform_wrapper .left_label input.medium, .gform_wrapper .left_label select.medium, .gform_wrapper .right_label input.medium, .gform_wrapper .right_label select.medium {
    width: calc(35% - 8px); }
  .gform_wrapper .left_label input.large, .gform_wrapper .left_label select.large, .gform_wrapper .left_label textarea.large, .gform_wrapper .left_label textarea.medium, .gform_wrapper .left_label textarea.small, .gform_wrapper .right_label input.large, .gform_wrapper .right_label select.large, .gform_wrapper .right_label textarea.large, .gform_wrapper .right_label textarea.medium, .gform_wrapper .right_label textarea.small {
    width: 70%; }
  .gform_wrapper ul.gform_fields:not(.top_label) .ginput_list {
    width: 70%;
    margin-left: 29% !important; }
  .gform_wrapper .top_label .gfield_list {
    width: 100%; }
  .gform_wrapper .left_label .gf_list_one_column, .gform_wrapper .right_label .gf_list_one_column {
    width: 45%; }
  .gform_wrapper .top_label .gf_list_one_column {
    width: 46%; }
  .gform_wrapper .left_label li.hidden_label input, .gform_wrapper .right_label li.hidden_label input {
    margin-left: 3.7%; }
  .gform_wrapper .left_label li.gfield .gfield_password_strength, .gform_wrapper .right_label li.gfield .gfield_password_strength {
    margin-left: 29%; }
  .gform_wrapper .top_label input.small, .gform_wrapper .top_label select.small {
    width: 25%; }
  .gform_wrapper .top_label input.medium, .gform_wrapper .top_label select.medium {
    width: calc(50% - 8px); }
  .gform_wrapper.gform_validation_error .top_label input.medium, .gform_wrapper.gform_validation_error .top_label select.medium {
    width: 50%; }
  .gform_wrapper .hidden_label input.large, .gform_wrapper .hidden_label select.large, .gform_wrapper .top_label input.large, .gform_wrapper .top_label select.large {
    width: 100%; }
  .gform_wrapper .top_label input.large.datepicker, .gform_wrapper .top_label input.medium.datepicker, .gform_wrapper .top_label input.small.datepicker {
    width: auto; }
  .gform_wrapper textarea.small {
    height: 80px;
    width: 100%; }
  .gform_wrapper textarea.medium {
    height: 160px;
    width: 100%; }
  .gform_wrapper textarea.large {
    height: 320px;
    width: 100%; }
  .gform_wrapper .gfield_error .ginput_complex .ginput_left, .gform_wrapper .gfield_error .ginput_complex .ginput_right, .gform_wrapper .ginput_complex .ginput_cardinfo_left {
    width: 50%; }
  .gform_wrapper .ginput_complex .ginput_left, .gform_wrapper .ginput_complex .ginput_right {
    width: 50%;
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    margin: 0 -4px 0 0; }
  .gform_wrapper .ginput_container_password .ginput_right {
    padding-left: 8px; }
  .gform_wrapper .ginput_complex .ginput_cardinfo_left, .gform_wrapper .ginput_complex .ginput_cardinfo_right {
    min-height: 43px;
    position: relative;
    float: left; }
  .gform_wrapper .ginput_complex select.ginput_card_expiration.ginput_card_expiration_month, .gform_wrapper .ginput_complex select.ginput_card_expiration.ginput_card_expiration_year {
    width: 47% !important;
    display: -moz-inline-stack;
    display: inline-block; }
  .gform_wrapper .ginput_complex .ginput_cardinfo_left select.ginput_card_expiration.ginput_card_expiration_month {
    margin-right: 4px; }
  .gform_wrapper .gf_step {
    width: auto;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 16px 32px 16px 0; }
  .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer .wp-block-button input.wp-block-button__link, .wp-block-button .gform_wrapper .gform_footer input.wp-block-button__link, .gform_wrapper .gform_footer input[type=image], .gform_wrapper .gform_footer input[type=submit] {
    display: -moz-inline-stack;
    display: inline-block; }
  .gform_wrapper .gform_footer input[type=image] {
    vertical-align: middle; }
  .gform_wrapper .gform_footer a.gform_save_link, .gform_wrapper .gform_page_footer a.gform_save_link {
    font-size: 1em;
    margin-left: 16px;
    display: -moz-inline-stack;
    display: inline-block; }
  .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer .wp-block-button input.wp-block-button__link, .wp-block-button .gform_wrapper .gform_footer input.wp-block-button__link, .gform_wrapper .gform_footer input[type=submit], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer .wp-block-button input.wp-block-button__link, .wp-block-button .gform_wrapper .gform_page_footer input.wp-block-button__link, .gform_wrapper .gform_page_footer input[type=submit] {
    font-size: 1em;
    width: auto;
    margin: 0 16px 0 0; }
  .gform_wrapper ul.gform_fields li.gfield {
    padding-right: 16px; }
  .gform_wrapper .ginput_complex .ginput_left {
    padding-right: 8px; }
  .gform_wrapper .left_label .ginput_complex.ginput_container_address:after {
    content: "";
    display: block; }
  .gform_wrapper .ginput_complex.ginput_container_address .ginput_left {
    margin-right: 8px; }
  .gform_wrapper .ginput_complex.ginput_container_address .ginput_right {
    margin-right: -8px;
    padding-right: 8px; }
  .gform_wrapper .ginput_complex.ginput_container_address span.ginput_full + span.ginput_right {
    padding-right: 8px !important;
    margin-right: 8px; }
  .gform_wrapper .ginput_complex.ginput_container_address span.ginput_right + span.ginput_left {
    padding-right: 8px !important;
    margin-right: -8px; }
  .gform_wrapper .ginput_complex.ginput_container_address span.ginput_right + span.ginput_left.address_zip {
    margin-right: 8px; }
  .gform_wrapper .gfield_error .ginput_container {
    padding-right: 0; }
  .gform_wrapper ul.top_label li.gfield.gfield_error.gfield_contains_required .gfield_password_strength {
    margin: 18px 0; }
  .gform_wrapper .gform_footer:not(.top_label) {
    padding: 16px 0 10px;
    margin-left: 29%;
    width: 70%; }
  .top_label div.ginput_complex.ginput_container.gf_name_has_1, .top_label div.ginput_complex.ginput_container.gf_name_has_2, .top_label div.ginput_complex.ginput_container.gf_name_has_3 {
    width: calc(100% + 15px); }
  .top_label div.ginput_complex.ginput_container.gf_name_has_4 {
    width: calc(100% + 13px); }
  .top_label div.ginput_complex.ginput_container.gf_name_has_5 {
    width: calc(100% + 14px); }
  ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_1, ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_2, ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_3 {
    width: calc(70% + 15px);
    margin-left: 29%; }
  ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_1, ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_2, ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_3 {
    width: calc(70% + 24px); }
  ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_4 {
    width: calc(70% + 13px);
    margin-left: 29%; }
  ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.gf_name_has_5 {
    width: calc(70% + 14px);
    margin-left: 29%; }
  div.ginput_container_name span {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    padding-right: 16px;
    margin-right: -4px; }
  div.ginput_complex.ginput_container.gf_name_has_1 span {
    width: 100%; }
  div.ginput_complex.ginput_container.gf_name_has_2 span {
    width: 50%; }
  div.ginput_complex.ginput_container.gf_name_has_3 span {
    width: 33.3%; }
  div.ginput_complex.ginput_container.gf_name_has_4 span {
    width: 25%; }
  div.ginput_complex.ginput_container.gf_name_has_5 span {
    width: 19.95%; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_1 span {
    width: 99.75% !important; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_2 span {
    width: 49.75% !important; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_3 span {
    width: 33% !important; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_4 span {
    width: 24.75% !important; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.gf_name_has_5 span {
    width: 19.75% !important; }
  html div.ginput_complex.ginput_container.gf_name_has_2 span:first-child, html div.ginput_complex.ginput_container.gf_name_has_3 span:first-child, html div.ginput_complex.ginput_container.gf_name_has_4 span:first-child, html div.ginput_complex.ginput_container.gf_name_has_5 span:first-child {
    margin-left: 0 !important; }
  .gform_wrapper .top_label .ginput_complex.ginput_container.ginput_container_email {
    width: calc(100% + 15px); }
  .gform_wrapper ul.gform_fields:not(.top_label) div.ginput_complex.ginput_container.ginput_container_email {
    width: calc(70% + 16px);
    margin-left: 29%; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error div.ginput_complex.ginput_container.ginput_container_email {
    width: calc(70% + 17px); }
  li.gfield.gfield_error .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gfield_error .ginput_complex.ginput_container.ginput_container_email {
    width: calc(70% + 8px) !important; }
  .gform_wrapper .ginput_complex.ginput_container.ginput_container_email .ginput_left, .gform_wrapper .ginput_complex.ginput_container.ginput_container_email .ginput_right {
    padding-right: 16px; }
  .gform_wrapper ul.left_label li.gfield .gfield_password_strength, .gform_wrapper ul.right_label li.gfield .gfield_password_strength {
    width: 70%; }
  .gform_wrapper .ginput_complex span.ginput_left + input.gform_hidden + span.ginput_left {
    padding-right: 0; }
  .gform_wrapper .ginput_complex span.ginput_left.address_country {
    margin-right: 0; }
  html:not([dir=rtl]) .gform_wrapper ul.gform_fields:not(.top_label) .clear-multi, html:not([dir=rtl]) .gform_wrapper ul.gform_fields:not(.top_label) .gfield_description, html:not([dir=rtl]) .gform_wrapper ul.gform_fields:not(.top_label) .ginput_container:not(.ginput_container_time):not(.ginput_container_date) {
    width: 70%;
    margin-left: 29%; }
  .gform_wrapper .gf_progressbar {
    width: calc(100% - 16px); }
  .gform_wrapper ul.gform_fields:not(.top_label) .gform_fileupload_multifile .gform_drop_area {
    margin-left: 29%;
    width: 70%; }
  body .gform_wrapper span.ginput_left.address_city + input.gform_hidden + span.ginput_left.address_country {
    width: calc(50% - 8px);
    margin-right: 0; }
  .gform_wrapper ul.gform_fields:not(.top_label) .ginput_container.ginput_recaptcha {
    margin-left: 29% !important; }
  .gform_wrapper .gform_page_footer .button.gform_previous_button, .gform_wrapper .gform_page_footer .wp-block-button .gform_previous_button.wp-block-button__link, .wp-block-button .gform_wrapper .gform_page_footer .gform_previous_button.wp-block-button__link {
    margin-bottom: 0; }
  .gform_wrapper .gform_page_footer .button.gform_button, .gform_wrapper .gform_page_footer .wp-block-button .gform_button.wp-block-button__link, .wp-block-button .gform_wrapper .gform_page_footer .gform_button.wp-block-button__link, .gform_wrapper .gform_page_footer .button.gform_next_button, .gform_wrapper .gform_page_footer .wp-block-button .gform_next_button.wp-block-button__link, .wp-block-button .gform_wrapper .gform_page_footer .gform_next_button.wp-block-button__link {
    margin-right: 10px; }
  body .gform_wrapper select.medium.gfield_select + div.chosen-container-multi[style], body .gform_wrapper select.medium.gfield_select + div.chosen-container-single[style] {
    width: calc(50% - 8px) !important; }
  body .gform_wrapper select.large.gfield_select + div.chosen-container-multi[style], body .gform_wrapper select.large.gfield_select + div.chosen-container-single[style] {
    width: 100% !important; }
  body .gform_wrapper select.small.gfield_select + div.chosen-container-multi[style], body .gform_wrapper select.small.gfield_select + div.chosen-container-single[style] {
    width: 25% !important; } }

.gfield_repeater_cell > .gfield_repeater_wrapper {
  background-color: rgba(1, 1, 1, 0.02);
  padding: 10px 20px;
  border-radius: 8px;
  border-bottom: 1px solid #eeeeee; }

.gfield_repeater_wrapper input {
  border: 1px solid #c5c6c5;
  border-radius: 4px; }

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

.gfield_repeater_buttons .add_repeater_item_text, .gfield_repeater_buttons .remove_repeater_item_text {
  min-width: 100px;
  height: 30px;
  background: rgba(242, 242, 242, 0.5);
  transition: all 0.3s cubic-bezier(0.67, 0.17, 0.4, 0.83);
  font-size: 12px;
  color: #757575;
  border-radius: 20px;
  margin-right: 10px;
  margin-bottom: 5px;
  border: 1px solid rgba(117, 117, 117, 0.4);
  font-weight: 400; }

.gfield_repeater_buttons .add_repeater_item_plus, .gfield_repeater_buttons .remove_repeater_item_minus {
  width: 22px;
  height: 22px;
  background: rgba(242, 242, 242, 0.5);
  transition: all 0.3s cubic-bezier(0.67, 0.17, 0.4, 0.83);
  font-size: 16px;
  color: #757575;
  border-radius: 50%;
  margin: 10px 5px 0;
  border: 1px solid rgba(117, 117, 117, 0.4);
  font-weight: 700;
  padding: 0 0 5px; }

.gfield_repeater_buttons button.gfield_icon_disabled {
  cursor: default;
  filter: alpha(opacity=30);
  -moz-opacity: .3;
  -khtml-opacity: .3;
  opacity: .3; }

.gfield_repeater_buttons button.gfield_icon_disabled:hover {
  background: rgba(242, 242, 242, 0.5);
  color: #757575;
  border: 1px solid rgba(117, 117, 117, 0.4); }

.gfield_repeater_buttons button:hover {
  background: #fafafa;
  color: #374750;
  border: 1px solid #757575; }

.gfield_repeater_cell > .gfield_repeater_wrapper {
  border-left: 8px solid #f1f1f1;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.06), 0 2px 1px -1px rgba(0, 0, 0, 0.06), 0 1px 5px 0 rgba(0, 0, 0, 0.06); }

.gfield_repeater_buttons .add_repeater_item_text:focus, .gfield_repeater_buttons .remove_repeater_item_text:focus {
  outline: 0; }

.gfield_repeater_item .gfield_repeater_cell .gfield_required {
  color: #c32121; }

.gform_wrapper .gfield_repeater_cell label {
  color: #9b9a9a;
  font-weight: 400;
  font-size: 14px;
  padding-top: 8px; }

.gfield_repeater_value .gfield_repeater_value .gfield_repeater_cell {
  padding-bottom: 20px;
  padding-top: 0; }

div .gfield_repeater_cell {
  margin-top: 5px; }

.gfield_repeater .gfield_repeater_items .gfield_repeater_item:not(:last-child) {
  border-bottom: 2px solid #e0e0e6;
  padding-bottom: 20px;
  margin-bottom: 20px;
  margin-right: 10px; }

.gfield_repeater_value > .gfield_repeater {
  border-left: 8px solid rgba(54, 86, 102, 0.1);
  background-color: rgba(1, 1, 1, 0.02);
  padding: 10px 20px;
  border-radius: 8px;
  border-bottom: 1px solid #eeeeee;
  margin: 10px; }

.gfield_repeater_cell .gfield_repeater_value:not(:first-child) {
  color: rgba(117, 117, 117, 0.7);
  border: 1px solid #c5c6c5;
  border-radius: 4px;
  margin-right: 10px;
  padding-left: 10px;
  background-color: #f0f0f0; }

.gfield_repeater .gfield_repeater_items, .gfield_repeater_items .gfield_repeater_cell:not(:first-child) {
  padding-top: 5px; }

.gfield_repeater .gfield_label {
  color: #23282d;
  font-size: 16px;
  font-weight: 600; }

.gfield_repeater_value .gfield_label, .gfield_repeater_value .gfield_repeater_value .gfield_repeater_item:first-child {
  padding-bottom: 0; }

/*  READY CLASS **/
@media only screen and (min-width: 641px) {
  .gform_wrapper .top_label li.gfield.gf_inline {
    vertical-align: top;
    width: auto !important;
    margin: 0;
    padding-right: 16px;
    float: none !important;
    display: -moz-inline-stack;
    display: inline-block; }
  .gform_wrapper .top_label li.gfield.gf_inline input[type=email].large, .gform_wrapper .top_label li.gfield.gf_inline input[type=email].medium, .gform_wrapper .top_label li.gfield.gf_inline input[type=email].small, .gform_wrapper .top_label li.gfield.gf_inline input[type=number].large, .gform_wrapper .top_label li.gfield.gf_inline input[type=number].medium, .gform_wrapper .top_label li.gfield.gf_inline input[type=number].small, .gform_wrapper .top_label li.gfield.gf_inline input[type=password].large, .gform_wrapper .top_label li.gfield.gf_inline input[type=password].medium, .gform_wrapper .top_label li.gfield.gf_inline input[type=password].small, .gform_wrapper .top_label li.gfield.gf_inline input[type=tel].large, .gform_wrapper .top_label li.gfield.gf_inline input[type=tel].medium, .gform_wrapper .top_label li.gfield.gf_inline input[type=tel].small, .gform_wrapper .top_label li.gfield.gf_inline input[type=text].large, .gform_wrapper .top_label li.gfield.gf_inline input[type=text].medium, .gform_wrapper .top_label li.gfield.gf_inline input[type=text].small, .gform_wrapper .top_label li.gfield.gf_inline input[type=url].large, .gform_wrapper .top_label li.gfield.gf_inline input[type=url].medium, .gform_wrapper .top_label li.gfield.gf_inline input[type=url].small {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_inline input[type=text].datepicker.medium {
    width: 96px !important; }
  .gform_wrapper .top_label li.gfield.gf_inline select, .gform_wrapper .top_label li.gfield.gf_inline textarea {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_hour input[type=text], .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_minute input[type=text] {
    width: 70% !important; }
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_date_day, .gform_wrapper .top_label li.gfield.gf_inline div.gfield_date_month, .gform_wrapper .top_label li.gfield.gf_inline div.gfield_date_year, .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_hour, .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_minute {
    width: 50px; }
  .gform_wrapper .top_label li.gfield.gf_inline div.gfield_time_ampm {
    width: auto; }
  .gform_wrapper li.gf_inline div.ginput_container {
    white-space: nowrap !important; }
  .gform_wrapper li.gf_inline div.ginput_container.ginput_container_date label {
    display: block !important; }
  .gform_wrapper li.gfield.gfield_error.gf_inline {
    margin-right: 16px;
    padding-right: 0; }
  .gform_wrapper .top_label li.gfield.gf_left_half, .gform_wrapper .top_label li.gfield.gf_right_half {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    width: 50%;
    padding-right: 16px;
    float: none; }
  .gform_wrapper .top_label li.gfield.gf_left_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker), .gform_wrapper .top_label li.gfield.gf_right_half .ginput_container:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm):not(.ginput_container_date):not(.ginput_quantity):not(.datepicker) {
    width: 100% !important;
    margin: 8px 0 0;
    padding-left: 0;
    padding-right: 0; }
  .gform_wrapper .top_label li.gfield.gf_left_half:before {
    content: "";
    display: block;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_right_half:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper.gform_validation_error .top_label li.gfield.gfield_error.gf_left_half, .gform_wrapper.gform_validation_error .top_label li.gfield.gfield_error.gf_right_half {
    max-width: calc(50% - 16px);
    padding-right: 0; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_left_half {
    margin-right: 16px; }
  .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) input.large, .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) input.medium, .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) select.large, .gform_wrapper .top_label li.gfield.gf_left_half div:not(.ginput_container_date) select.medium, .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) input.large, .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) input.medium, .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) select.large, .gform_wrapper .top_label li.gfield.gf_right_half div:not(.ginput_container_date) select.medium {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_left_half textarea, .gform_wrapper .top_label li.gfield.gf_right_half textarea {
    width: 98%; }
  .gform_wrapper .top_label li.gfield.gf_left_half input.small, .gform_wrapper .top_label li.gfield.gf_right_half input.small {
    width: 35%; }
  .gform_wrapper .top_label li.gfield.gf_left_half + li.gfield.gsection.gf_left_half, .gform_wrapper .top_label li.gfield.gf_left_half + li.gfield.gsection.gf_right_half, .gform_wrapper .top_label li.gfield.gf_left_half + li.gsection, .gform_wrapper .top_label li.gfield.gf_right_half + li.gfield.gsection.gf_left_half, .gform_wrapper .top_label li.gfield.gf_right_half + li.gfield.gsection.gf_right_half, .gform_wrapper .top_label li.gfield.gf_right_half + li.gsection, .gform_wrapper .top_label li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_left_half, .gform_wrapper .top_label li.gfield.gsection.gf_right_half + li.gfield.gsection.gf_left_half, .gform_wrapper .top_label li.gfield.gsection.gf_right_half + li.gfield.gsection.gf_right_half {
    padding: 16px 0 8px; }
  .gform_wrapper .top_label li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_right_half {
    padding: 0 0 8px; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter + li.gsection, .gform_wrapper .top_label li.gfield.gf_fourth_quarter + li.gsection, .gform_wrapper .top_label li.gfield.gf_left_third + li.gsection, .gform_wrapper .top_label li.gfield.gf_right_third + li.gsection, .gform_wrapper .top_label li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_right_half + li.gfield.gsection.gf_left_half + li.gfield.gsection.gf_right_half {
    padding: 16px 0 8px; }
  .gform_wrapper .top_label li.gfield.gf_left_half + .gform_footer, .gform_wrapper .top_label li.gfield.gf_left_half + li.gfield, .gform_wrapper .top_label li.gfield.gf_right_half + .gform_footer, .gform_wrapper .top_label li.gfield.gf_right_half + li.gfield {
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_left_third, .gform_wrapper .top_label li.gfield.gf_middle_third, .gform_wrapper .top_label li.gfield.gf_right_third {
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    float: none;
    margin-bottom: 8px; }
  .gform_wrapper .top_label li.gfield.gf_left_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm), .gform_wrapper .top_label li.gfield.gf_middle_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 33.3%; }
  .gform_wrapper .top_label li.gfield.gf_right_third:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 33.4%; }
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) input.large, .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) input.medium, .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) select.large, .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) select.medium, .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) input.large, .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) input.medium, .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) select.large, .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) select.medium, .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) input.large, .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) input.medium, .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) select.large, .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) select.medium {
    width: 100%; }
  .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) input:not([type=radio]):not([type=checkbox]):not(.ginput_quantity), .gform_wrapper .top_label li.gfield.gf_left_third div:not(.ginput_container_date) select, .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) input:not([type=radio]):not([type=checkbox]):not(.ginput_quantity), .gform_wrapper .top_label li.gfield.gf_middle_third div:not(.ginput_container_date) select, .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) input:not([type=radio]):not([type=checkbox]):not(.ginput_quantity), .gform_wrapper .top_label li.gfield.gf_right_third div:not(.ginput_container_date) select {
    width: 100% !important; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_left_third, .gform_wrapper .top_label li.gfield.gfield_error.gf_middle_third {
    width: calc(33.3% - 24px) !important;
    margin-right: 16px; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_right_third {
    width: 33.4%; }
  .gform_wrapper .top_label li.gfield.gf_right_third:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_left_third + .gform_footer, .gform_wrapper .top_label li.gfield.gf_left_third + li.gfield, .gform_wrapper .top_label li.gfield.gf_middle_third + .gform_footer, .gform_wrapper .top_label li.gfield.gf_middle_third + li.gfield, .gform_wrapper .top_label li.gfield.gf_right_third + .gform_footer, .gform_wrapper .top_label li.gfield.gf_right_third + li.gfield {
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm), .gform_wrapper .top_label li.gfield.gf_fourth_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm), .gform_wrapper .top_label li.gfield.gf_second_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm), .gform_wrapper .top_label li.gfield.gf_third_quarter:not(.gfield_time_hour):not(.gfield_time_minute):not(.gfield_time_ampm) {
    width: 25%;
    display: -moz-inline-stack;
    display: inline-block;
    vertical-align: top;
    float: none; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter, .gform_wrapper .top_label li.gfield.gf_fourth_quarter, .gform_wrapper .top_label li.gfield.gf_second_quarter, .gform_wrapper .top_label li.gfield.gf_third_quarter {
    margin-bottom: 8px; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter div:not(.ginput_container_date) input:not([type=radio]):not([type=checkbox]), .gform_wrapper .top_label li.gfield.gf_first_quarter div:not(.ginput_container_date) select, .gform_wrapper .top_label li.gfield.gf_fourth_quarter div:not(.ginput_container_date) input:not([type=radio]):not([type=checkbox]), .gform_wrapper .top_label li.gfield.gf_fourth_quarter div:not(.ginput_container_date) select, .gform_wrapper .top_label li.gfield.gf_second_quarter div:not(.ginput_container_date) input:not([type=radio]):not([type=checkbox]), .gform_wrapper .top_label li.gfield.gf_second_quarter div:not(.ginput_container_date) select, .gform_wrapper .top_label li.gfield.gf_third_quarter div:not(.ginput_container_date) input:not([type=radio]):not([type=checkbox]), .gform_wrapper .top_label li.gfield.gf_third_quarter div:not(.ginput_container_date) select {
    width: 100% !important; }
  .gform_wrapper .top_label li.gfield.gfield_error.gf_first_quarter, .gform_wrapper .top_label li.gfield.gfield_error.gf_fourth_quarter, .gform_wrapper .top_label li.gfield.gfield_error.gf_second_quarter, .gform_wrapper .top_label li.gfield.gfield_error.gf_third_quarter {
    width: 24.5%; }
  .gform_wrapper .top_label li.gfield.gf_fourth_quarter:after {
    content: "";
    display: table;
    clear: both; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter input.large, .gform_wrapper .top_label li.gfield.gf_first_quarter input.medium, .gform_wrapper .top_label li.gfield.gf_first_quarter select.large, .gform_wrapper .top_label li.gfield.gf_first_quarter select.medium, .gform_wrapper .top_label li.gfield.gf_fourth_quarter input.large, .gform_wrapper .top_label li.gfield.gf_fourth_quarter input.medium, .gform_wrapper .top_label li.gfield.gf_fourth_quarter select.large, .gform_wrapper .top_label li.gfield.gf_fourth_quarter select.medium, .gform_wrapper .top_label li.gfield.gf_second_quarter input.large, .gform_wrapper .top_label li.gfield.gf_second_quarter input.medium, .gform_wrapper .top_label li.gfield.gf_second_quarter select.large, .gform_wrapper .top_label li.gfield.gf_second_quarter select.medium, .gform_wrapper .top_label li.gfield.gf_third_quarter input.large, .gform_wrapper .top_label li.gfield.gf_third_quarter input.medium, .gform_wrapper .top_label li.gfield.gf_third_quarter select.large, .gform_wrapper .top_label li.gfield.gf_third_quarter select.medium {
    width: 97.5%; }
  .gform_wrapper .top_label li.gfield.gf_first_quarter + .gform_footer, .gform_wrapper .top_label li.gfield.gf_first_quarter + li.gfield, .gform_wrapper .top_label li.gfield.gf_fourth_quarter + .gform_footer, .gform_wrapper .top_label li.gfield.gf_fourth_quarter + li.gfield, .gform_wrapper .top_label li.gfield.gf_second_quarter + .gform_footer, .gform_wrapper .top_label li.gfield.gf_second_quarter + li.gfield, .gform_wrapper .top_label li.gfield.gf_third_quarter + .gform_footer, .gform_wrapper .top_label li.gfield.gf_third_quarter + li.gfield {
    clear: both; }
  .gform_wrapper .top_label li ul.gfield_checkbox, .gform_wrapper .top_label li ul.gfield_radio {
    width: calc(100% + 16px); }
  .gform_wrapper ul.gform_fields:not(.top_label) li ul.gfield_checkbox, .gform_wrapper ul.gform_fields:not(.top_label) li ul.gfield_radio {
    width: calc(70% + 16px); }
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio li {
    width: 50%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio li {
    width: 33.3%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0 0 2px;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox li label, .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio li label, .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox li label, .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio li label, .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox li label, .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio li label {
    max-width: 75%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle; }
  .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio li {
    width: 25%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper li.gfield.gf_list_5col ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_5col ul.gfield_radio li {
    width: 20%;
    display: -moz-inline-stack;
    display: inline-block;
    margin: 0;
    padding-right: 16px;
    min-height: 28px;
    vertical-align: top;
    font-size: 90%; }
  .gform_wrapper ul.gform_fields:not(.top_label) li.gf_list_2col_vertical label.gfield_label, .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_2col label.gfield_label, .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_3col label.gfield_label, .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_4col label.gfield_label, .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_5col label.gfield_label, .gform_wrapper ul.gform_fields:not(.top_label) li.gfield.gf_list_inline label.gfield_label {
    margin: 0 0 10px; }
  .gform_wrapper li.gfield.gf_list_2col ul.gfield_checkbox, .gform_wrapper li.gfield.gf_list_2col ul.gfield_radio, .gform_wrapper li.gfield.gf_list_3col ul.gfield_checkbox, .gform_wrapper li.gfield.gf_list_3col ul.gfield_radio, .gform_wrapper li.gfield.gf_list_4col ul.gfield_checkbox, .gform_wrapper li.gfield.gf_list_4col ul.gfield_radio, .gform_wrapper li.gfield.gf_list_5col ul.gfield_checkbox, .gform_wrapper li.gfield.gf_list_5col ul.gfield_radio {
    overflow: hidden; }
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_checkbox ul.gfield_checkbox, .gform_wrapper li.gf_list_3col_vertical .ginput_container_checkbox ul.gfield_checkbox, .gform_wrapper li.gf_list_4col_vertical .ginput_container_checkbox ul.gfield_checkbox, .gform_wrapper li.gf_list_5col_vertical .ginput_container_checkbox ul.gfield_checkbox {
    -webkit-column-gap: 16px;
    column-gap: 16px; }
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_checkbox ul.gfield_checkbox, .gform_wrapper li.gf_list_2col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 16px);
    -webkit-column-count: 2;
    column-count: 2; }
  .gform_wrapper li.gf_list_3col_vertical .ginput_container_checkbox ul.gfield_checkbox, .gform_wrapper li.gf_list_3col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 8px);
    -webkit-column-count: 3;
    column-count: 3; }
  .gform_wrapper li.gf_list_4col_vertical .ginput_container_checkbox ul.gfield_checkbox, .gform_wrapper li.gf_list_4col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 8px);
    -webkit-column-count: 4;
    column-count: 4; }
  .gform_wrapper li.gf_list_5col_vertical .ginput_container_checkbox ul.gfield_checkbox, .gform_wrapper li.gf_list_5col_vertical .ginput_container_radio ul.gfield_radio {
    width: calc(100% - 8px);
    -webkit-column-count: 5;
    column-count: 5; }
  .gform_wrapper li.gf_list_2col_vertical .ginput_container_checkbox ul.gfield_checkbox li label, .gform_wrapper li.gf_list_2col_vertical .ginput_container_radio ul.gfield_radio li label, .gform_wrapper li.gf_list_3col_vertical .ginput_container_checkbox ul.gfield_checkbox li label, .gform_wrapper li.gf_list_3col_vertical .ginput_container_radio ul.gfield_radio li label, .gform_wrapper li.gf_list_4col_vertical .ginput_container_checkbox ul.gfield_checkbox li label, .gform_wrapper li.gf_list_4col_vertical .ginput_container_radio ul.gfield_radio li label, .gform_wrapper li.gf_list_5col_vertical .ginput_container_checkbox ul.gfield_checkbox li label, .gform_wrapper li.gf_list_5col_vertical .ginput_container_radio ul.gfield_radio li label {
    max-width: 75%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
  .gform_wrapper li.gfield.gf_list_height_25 ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_height_25 ul.gfield_radio li {
    height: 25px; }
  .gform_wrapper li.gfield.gf_list_height_50 ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_height_50 ul.gfield_radio li {
    height: 50px; }
  .gform_wrapper li.gfield.gf_list_height_75 ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_height_75 ul.gfield_radio li {
    height: 75px; }
  .gform_wrapper li.gfield.gf_list_height_100 ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_height_100 ul.gfield_radio li {
    height: 100px; }
  .gform_wrapper li.gfield.gf_list_height_125 ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_height_125 ul.gfield_radio li {
    height: 125px; }
  .gform_wrapper li.gfield.gf_list_height_150 ul.gfield_checkbox li, .gform_wrapper li.gfield.gf_list_height_150 ul.gfield_radio li {
    height: 150px; }
  .gform_wrapper li.gf_list_inline ul.gfield_checkbox li, .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    width: auto !important;
    float: none !important;
    margin: 0 8px 10px 0;
    display: -moz-inline-stack;
    display: inline-block; }
  html[dir=rtl] .gform_wrapper li.gf_list_inline ul.gfield_checkbox li, html[dir=rtl] .gform_wrapper li.gf_list_inline ul.gfield_radio li {
    padding-left: 16px !important;
    padding-right: 0 !important; }
  .gform_wrapper li.gf_hide_ampm div.gfield_time_ampm {
    display: none !important; }
  .gform_wrapper li.gsection.gf_scroll_text {
    height: 240px;
    width: calc(100% - 16px);
    padding: 16px;
    background-color: #fff;
    overflow-y: scroll;
    overflow-x: hidden;
    border: 1px solid #CCC;
    border-bottom: 1px solid #CCC !important; }
  .gform_wrapper .top_label li.gsection.gf_scroll_text h2.gsection_title {
    margin: 10px 10px 0 8px !important; }
  .gform_wrapper.gf_browser_chrome .top_label li.gsection.gf_scroll_text h2.gsection_title, .gform_wrapper.gf_browser_gecko .top_label li.gsection.gf_scroll_text h2.gsection_title {
    margin: 0 10px 0 8px !important; }
  .gform_wrapper .top_label li.gsection.gf_scroll_text .gsection_description {
    margin: 10px;
    font-size: 12px; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul li, .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul li {
    list-style-type: disc !important;
    margin: 0 0 8px;
    overflow: visible;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul, .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ul {
    list-style-type: disc !important;
    margin: 16px 0 16px 18px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li, .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li {
    list-style-type: decimal !important;
    overflow: visible;
    margin: 0 0 8px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol, .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol {
    list-style-type: decimal !important;
    margin: 16px 0 18px 32px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul, .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul li {
    list-style-type: disc !important;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul {
    margin: 16px 0 16px 18px; }
  .gform_wrapper form div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description ol li ul li {
    margin: 0 0 8px; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description dl {
    margin: 0 0 18px;
    padding-left: 0; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description dl dt {
    font-weight: 700; }
  .gform_wrapper div.gform_ul.gform_fields .top_label li.gfield.gsection.gf_scroll_text div.gsection_description dl dd {
    margin: 0 0 16px 18px; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_blue, .gform_wrapper li.gfield.gfield_html.gf_alert_gray, .gform_wrapper li.gfield.gfield_html.gf_alert_green, .gform_wrapper li.gfield.gfield_html.gf_alert_red, .gform_wrapper li.gfield.gfield_html.gf_alert_yellow {
    border-radius: 3px;
    margin: 20px 0 !important;
    padding: 20px !important; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_green {
    border: 1px solid #97B48A;
    background-color: #CBECA0;
    text-shadow: #DFB 1px 1px;
    color: #030; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_red {
    border: 1px solid #CFADB3;
    background-color: #FAF2F5;
    text-shadow: #FFF 1px 1px;
    color: #832525; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_yellow {
    border: 1px solid #E6DB55;
    background-color: #FFFBCC;
    text-shadow: #FCFAEA 1px 1px;
    color: #222; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_gray {
    border: 1px solid #CCC;
    background-color: #EEE;
    text-shadow: #FFF 1px 1px;
    color: #424242; }
  .gform_wrapper li.gfield.gfield_html.gf_alert_blue {
    border: 1px solid #a7c2e7;
    background-color: #D1E4F3;
    text-shadow: #E0F1FF 1px 1px;
    color: #314475; }
  div.gform_confirmation_wrapper.gf_confirmation_simple_yellow {
    margin: 30px 0;
    max-width: 99%;
    border-top: 1px solid #E6DB55;
    border-bottom: 1px solid #E6DB55;
    padding: 32px;
    background-color: #FFFBCC;
    color: #424242;
    font-size: 25px; }
  div.gform_confirmation_wrapper.gf_confirmation_simple_gray {
    margin: 30px 0;
    max-width: 99%;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    padding: 32px;
    background-color: #EAEAEA;
    color: #424242;
    font-size: 25px; }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient {
    position: relative;
    background-color: #FFFBD2;
    margin: 30px 0;
    border: 1px solid #E6DB55;
    box-shadow: 0 0 5px rgba(221, 215, 131, 0.75); }
  div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient div.gforms_confirmation_message {
    margin: 0;
    padding: 40px;
    max-width: 99%;
    font-size: 28px;
    border-top: 2px solid #FFF;
    border-bottom: 1px solid #E6DB55;
    color: #424242;
    background: #fffce5;
    background: linear-gradient(to bottom, #fffce5 0, #fff9bf 100%); }
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient {
    position: relative;
    background-color: #f1fcdf;
    margin: 30px 0;
    border: 1px solid #a7c37c;
    box-shadow: 0 0 5px rgba(86, 122, 86, 0.4); }
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient div.gforms_confirmation_message {
    margin: 0;
    padding: 40px;
    max-width: 99%;
    font-size: 28px;
    border-top: 2px solid #effade;
    border-bottom: 1px solid #a7c37c;
    text-shadow: #DFB 1px 1px;
    color: #030;
    background: #dbf2b7;
    background: linear-gradient(to bottom, #dbf2b7 0, #b4d088 100%); }
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient:after, div.gform_confirmation_wrapper.gf_confirmation_green_gradient:before, div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient:after, div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient:before {
    z-index: -1;
    position: absolute;
    content: "";
    bottom: 15px;
    left: 10px;
    width: 50%;
    top: 80%;
    max-width: 40%;
    background: rgba(0, 0, 0, 0.2);
    box-shadow: 0 15px 10px rgba(0, 0, 0, 0.2);
    -webkit-transform: rotate(-3deg);
    -ms-transform: rotate(-3deg);
    transform: rotate(-3deg); }
  div.gform_confirmation_wrapper.gf_confirmation_green_gradient:after, div.gform_confirmation_wrapper.gf_confirmation_yellow_gradient:after {
    -webkit-transform: rotate(3deg);
    -ms-transform: rotate(3deg);
    transform: rotate(3deg);
    right: 10px;
    left: auto; }
  .gform_wrapper.gf_simple_horizontal_wrapper.centered_wrapper {
    width: auto;
    margin: 0 auto;
    display: table; }
  .gform_wrapper form.gf_simple_horizontal {
    width: calc(100% - 16px);
    margin: 0 auto; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body, .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    display: table-cell;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    position: relative; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body {
    width: auto;
    max-width: 75%; }
  .gform_wrapper form.gf_simple_horizontal div.ginput_container, .gform_wrapper form.gf_simple_horizontal ul li.gfield {
    margin-top: 0 !important; }
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    width: auto;
    max-width: 25%;
    padding: 0;
    margin: 0; }
  body:not(rtl) .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label {
    text-align: left; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label {
    display: table;
    width: 100%; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield {
    display: table-cell;
    padding-right: 1em;
    height: auto; }
  .gform_wrapper form.gf_simple_horizontal .gfield_description:not(.validation_message), .gform_wrapper form.gf_simple_horizontal .ginput_complex label, .gform_wrapper form.gf_simple_horizontal label.gfield_label {
    display: block;
    height: 1px;
    width: 1px;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: -9000px; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label.form_sublabel_above li.gfield, .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label.form_sublabel_below li.gfield {
    vertical-align: middle; }
  .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield input.large, .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield input.medium, .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield input.small, .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield select.large, .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield select.medium, .gform_wrapper form.gf_simple_horizontal div.gform_body ul.top_label li.gfield select.small {
    width: 100%; }
  .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label input[type=submit], .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label input[type=button], .gform_wrapper form.gf_simple_horizontal div.gform_footer.top_label input[type=image] {
    height: auto; }
  .gform_wrapper form.gf_simple_horizontal .top_label .gfield_error {
    margin-bottom: 0; }
  .gform_wrapper form.gf_simple_horizontal ul li.gfield .ginput_container_checkbox ul li, .gform_wrapper form.gf_simple_horizontal ul li.gfield .ginput_container_radio ul li {
    display: inline-block;
    margin-right: .5em; }
  html[dir=rtl] .gform_wrapper form.gf_simple_horizontal div.ginput_complex.ginput_container.gf_name_has_2 span {
    width: 48.5%; }
  html[dir=rtl] .gform_wrapper form.gf_simple_horizontal div.ginput_complex.ginput_container.gf_name_has_3 span {
    width: 33%; }
  html[dir=rtl] .gform_wrapper form.gf_simple_horizontal div.ginput_complex.ginput_container.gf_name_has_4 span {
    width: 24.5%; }
  html[dir=rtl] .gform_wrapper form.gf_simple_horizontal div.ginput_complex.ginput_container.gf_name_has_5 span {
    width: 19.5%; } }

body .gform_wrapper.gf_form_center_wrapper {
  padding: 16px 0 16px 16px; }

/* BROWSERS */
.gform_wrapper.gf_browser_chrome .left_label #recaptcha_area #recaptcha_table, .gform_wrapper.gf_browser_chrome .right_label #recaptcha_area #recaptcha_table, .gform_wrapper.gf_browser_safari .left_label #recaptcha_area #recaptcha_table, .gform_wrapper.gf_browser_safari .right_label #recaptcha_area #recaptcha_table {
  margin-left: 32%; }

.gform_wrapper.gf_browser_chrome select[multiple=multiple], .gform_wrapper.gf_browser_safari select[multiple=multiple] {
  height: auto !important; }

.entry .gform_wrapper.gf_browser_safari ul li:after, .entry .gform_wrapper.gf_browser_safari ul li:before {
  content: ""; }

.entry .gform_wrapper.gf_browser_chrome ul li:after, .entry .gform_wrapper.gf_browser_chrome ul li:before, .entry .gform_wrapper.gf_browser_gecko ul li:after, .entry .gform_wrapper.gf_browser_gecko ul li:before, .entry .gform_wrapper.gf_browser_ie ul li:after, .entry .gform_wrapper.gf_browser_ie ul li:before, .entry .gform_wrapper.gf_browser_iphone ul li:after, .entry .gform_wrapper.gf_browser_iphone ul li:before, .entry .gform_wrapper.gf_browser_unknown ul li:after, .entry .gform_wrapper.gf_browser_unknown ul li:before, .gform_wrapper.gf_browser_chrome ul li:after, .gform_wrapper.gf_browser_chrome ul li:before, .gform_wrapper.gf_browser_gecko ul li:after, .gform_wrapper.gf_browser_gecko ul li:before, .gform_wrapper.gf_browser_ie ul li:after, .gform_wrapper.gf_browser_ie ul li:before, .gform_wrapper.gf_browser_iphone ul li:after, .gform_wrapper.gf_browser_iphone ul li:before, .gform_wrapper.gf_browser_unknown ul li:after, .gform_wrapper.gf_browser_unknown ul li:before {
  content: none; }

.gform_wrapper.gf_browser_safari .gform_body ul.gform_fields li.gfield .ginput_container #recaptcha_widget_div #recaptcha_area {
  width: 99% !important; }

.gform_wrapper.gf_browser_safari .gfield_checkbox li input, .gform_wrapper.gf_browser_safari .gfield_checkbox li input[type=checkbox], .gform_wrapper.gf_browser_safari .gfield_radio li input[type=radio] {
  margin-top: 4px; }

.gform_wrapper.gf_browser_safari input.button.gform_button_select_files, .gform_wrapper.gf_browser_safari .wp-block-button input.gform_button_select_files.wp-block-button__link, .wp-block-button .gform_wrapper.gf_browser_safari input.gform_button_select_files.wp-block-button__link {
  padding: 6px 12px !important; }

.gform_wrapper.gf_browser_safari .gfield_time_ampm select {
  max-width: 5rem !important;
  width: calc(2rem + 20px); }

.gform_wrapper.gf_browser_chrome select {
  padding: 2px 0 2px 3px; }

.gform_wrapper.gf_browser_chrome .gfield_time_ampm select {
  max-width: 5rem !important;
  width: calc(3rem + 20px); }

.gform_wrapper.gf_browser_chrome .gform_body ul.gform_fields li.gfield .ginput_container #recaptcha_widget_div #recaptcha_area {
  width: 99% !important; }

.gform_wrapper.gf_browser_chrome .ginput_complex .ginput_right select, .gform_wrapper.gf_browser_chrome .ginput_complex select {
  text-indent: 2px;
  line-height: 1.5em;
  margin-bottom: 5px;
  margin-top: 2px; }

.gform_wrapper.gf_browser_chrome .gfield_checkbox li input, .gform_wrapper.gf_browser_chrome .gfield_checkbox li input[type=checkbox], .gform_wrapper.gf_browser_chrome .gfield_radio li input[type=radio] {
  margin-top: 6px; }

.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_left select, .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield div.ginput_complex span.ginput_right select, .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield input[type=radio], .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield select {
  margin-left: 1px; }

.gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_first, .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_last, .gform_wrapper.gf_browser_chrome ul.gform_fields li.gfield span.name_middle {
  padding-top: 2px; }

.gform_wrapper.gf_browser_chrome .gfield_error .ginput_complex.ginput_container.has_first_name.has_middle_name.has_last_name span.name_last, .gform_wrapper.gf_browser_chrome .gfield_error .ginput_complex.ginput_container.has_first_name.has_middle_name.has_last_name span.name_middle {
  margin-left: 1.1%; }

.gform_wrapper.gf_browser_chrome .gfield_error input[type=email], .gform_wrapper.gf_browser_chrome .gfield_error input[type=number], .gform_wrapper.gf_browser_chrome .gfield_error input[type=password], .gform_wrapper.gf_browser_chrome .gfield_error input[type=tel], .gform_wrapper.gf_browser_chrome .gfield_error input[type=text], .gform_wrapper.gf_browser_chrome .gfield_error input[type=url], .gform_wrapper.gf_browser_chrome .gfield_error select, .gform_wrapper.gf_browser_chrome .gfield_error textarea, .gform_wrapper.gf_browser_chrome li.gfield_error.field_sublabel_above .ginput_complex input[type=text] {
  margin-bottom: 2px; }

.gform_wrapper.gf_browser_chrome input.button.gform_button_select_files, .gform_wrapper.gf_browser_chrome .wp-block-button input.gform_button_select_files.wp-block-button__link, .wp-block-button .gform_wrapper.gf_browser_chrome input.gform_button_select_files.wp-block-button__link {
  padding: 6px 12px !important; }

.gform_wrapper.gf_browser_chrome span.address_country {
  margin-top: -2px; }

.gform_wrapper.gf_browser_gecko select {
  padding: 2px 12px 2px 2px; }

.gform_wrapper.gf_browser_gecko .gfield_time_ampm select {
  max-width: 5rem !important;
  width: calc(4rem + 25px); }

.gform_wrapper.gf_browser_gecko .ginput_complex .ginput_cardinfo_left select.ginput_card_expiration.ginput_card_expiration_month {
  margin-right: 1px; }

.gform_wrappergf_browser_gecko .chosen-container-single .chosen-single {
  height: 32px;
  line-height: 2.4; }

.gform_wrappergf_browser_gecko .chosen-container-single .chosen-single div b {
  position: relative;
  top: 5px; }

.gform_wrapper.gf_browser_ie .gfield_time_hour {
  width: 80px; }

.gform_wrapper.gf_browser_ie .gfield_time_minute {
  width: 70px; }

.gform_wrapper.gf_browser_ie .gfield_time_ampm {
  padding-top: 2px; }

.gform_wrapper.gf_browser_ie .gfield_time_hour input, .gform_wrapper.gf_browser_ie .gfield_time_minute input {
  margin-left: 0; }

.gform_wrapper.gf_browser_ie .ginput_complex .ginput_left label, .gform_wrapper.gf_browser_ie .ginput_complex .ginput_right label {
  margin: 3px 0 5px; }

.gform_wrapper.gf_browser_ie .gform_footer input.button, .gform_wrapper.gf_browser_ie .gform_footer .wp-block-button input.wp-block-button__link, .wp-block-button .gform_wrapper.gf_browser_ie .gform_footer input.wp-block-button__link {
  padding: 3px; }

.gform_wrapper.gf_browser_ie ul.top_label .clear-multi {
  overflow: hidden;
  clear: both; }

.gform_wrapper.gf_browser_ie .gfield_radio li {
  line-height: 20px !important; }

.gform_wrapper.gf_browser_ie .gfield_checkbox li input, .gform_wrapper.gf_browser_ie .gfield_checkbox li input[type=checkbox], .gform_wrapper.gf_browser_ie .gfield_radio li input[type=radio] {
  margin-top: 0; }

.gform_wrapper.gf_browser_ie .ginput_complex .ginput_left select, .gform_wrapper.gf_browser_ie .ginput_complex .ginput_right select {
  padding: 2px 0; }

.gform_wrapper.gf_browser_ie .gform_body ul.gform_fields li.gfield .ginput_container #recaptcha_widget_div #recaptcha_area {
  width: 99% !important; }

.gform_wrapper.gf_browser_ie .left_label #recaptcha_area #recaptcha_table, .gform_wrapper.gf_browser_ie .right_label #recaptcha_area #recaptcha_table {
  margin-left: 32%; }

.gform_wrapper.gf_browser_ie .ginput_complex .ginput_cardinfo_right span.ginput_card_security_code_icon {
  position: relative;
  top: -1px;
  left: 4px; }

.gform_wrapper.gf_browser_ie img.add_list_item, .gform_wrapper.gf_browser_ie img.delete_list_item {
  width: 16px !important;
  height: 16px !important;
  background-size: 16px 16px !important; }

@media only screen and (max-width: 641px) {
  .gform_wrapper.gf_browser_chrome .chosen-container-single .chosen-single, .gform_wrapper.gf_browser_gecko .chosen-container-single .chosen-single, .gform_wrapper.gf_browser_safari .chosen-container-single .chosen-single {
    height: 44px;
    line-height: 3.2; }
  .gform_wrapper.gf_browser_chrome .chosen-container-single .chosen-single div b, .gform_wrapper.gf_browser_gecko .chosen-container-single .chosen-single div b, .gform_wrapper.gf_browser_safari .chosen-container-single .chosen-single div b {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-25%);
        -ms-transform: translateY(-25%);
            transform: translateY(-25%); } }

/* FORM RESET */
body .gform_wrapper.gf_reset_wrapper, body .gform_wrapper.gf_reset_wrapper button, body .gform_wrapper.gf_reset_wrapper caption, body .gform_wrapper.gf_reset_wrapper div, body .gform_wrapper.gf_reset_wrapper fieldset, body .gform_wrapper.gf_reset_wrapper form, body .gform_wrapper.gf_reset_wrapper h1, body .gform_wrapper.gf_reset_wrapper h2, body .gform_wrapper.gf_reset_wrapper h3, body .gform_wrapper.gf_reset_wrapper h4, body .gform_wrapper.gf_reset_wrapper h5, body .gform_wrapper.gf_reset_wrapper h6, body .gform_wrapper.gf_reset_wrapper iframe, body .gform_wrapper.gf_reset_wrapper img, body .gform_wrapper.gf_reset_wrapper input[type=button], body .gform_wrapper.gf_reset_wrapper input[type=email], body .gform_wrapper.gf_reset_wrapper input[type=image], body .gform_wrapper.gf_reset_wrapper input[type=number], body .gform_wrapper.gf_reset_wrapper input[type=password], body .gform_wrapper.gf_reset_wrapper input[type=submit], body .gform_wrapper.gf_reset_wrapper input[type=tel], body .gform_wrapper.gf_reset_wrapper input[type=text], body .gform_wrapper.gf_reset_wrapper input[type=url], body .gform_wrapper.gf_reset_wrapper label, body .gform_wrapper.gf_reset_wrapper legend, body .gform_wrapper.gf_reset_wrapper li, body .gform_wrapper.gf_reset_wrapper ol, body .gform_wrapper.gf_reset_wrapper p, body .gform_wrapper.gf_reset_wrapper select, body .gform_wrapper.gf_reset_wrapper span, body .gform_wrapper.gf_reset_wrapper table, body .gform_wrapper.gf_reset_wrapper tbody, body .gform_wrapper.gf_reset_wrapper td, body .gform_wrapper.gf_reset_wrapper textarea, body .gform_wrapper.gf_reset_wrapper tfoot, body .gform_wrapper.gf_reset_wrapper th, body .gform_wrapper.gf_reset_wrapper thead, body .gform_wrapper.gf_reset_wrapper tr, body .gform_wrapper.gf_reset_wrapper ul {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0; }

body .gform_wrapper.gf_reset_wrapper button, body .gform_wrapper.gf_reset_wrapper caption, body .gform_wrapper.gf_reset_wrapper div, body .gform_wrapper.gf_reset_wrapper fieldset, body .gform_wrapper.gf_reset_wrapper form, body .gform_wrapper.gf_reset_wrapper iframe, body .gform_wrapper.gf_reset_wrapper img, body .gform_wrapper.gf_reset_wrapper input[type=button], body .gform_wrapper.gf_reset_wrapper input[type=email], body .gform_wrapper.gf_reset_wrapper input[type=image], body .gform_wrapper.gf_reset_wrapper input[type=number], body .gform_wrapper.gf_reset_wrapper input[type=password], body .gform_wrapper.gf_reset_wrapper input[type=submit], body .gform_wrapper.gf_reset_wrapper input[type=tel], body .gform_wrapper.gf_reset_wrapper input[type=text], body .gform_wrapper.gf_reset_wrapper input[type=url], body .gform_wrapper.gf_reset_wrapper label, body .gform_wrapper.gf_reset_wrapper legend, body .gform_wrapper.gf_reset_wrapper li, body .gform_wrapper.gf_reset_wrapper ol, body .gform_wrapper.gf_reset_wrapper p, body .gform_wrapper.gf_reset_wrapper select, body .gform_wrapper.gf_reset_wrapper span, body .gform_wrapper.gf_reset_wrapper table, body .gform_wrapper.gf_reset_wrapper tbody, body .gform_wrapper.gf_reset_wrapper td, body .gform_wrapper.gf_reset_wrapper textarea, body .gform_wrapper.gf_reset_wrapper tfoot, body .gform_wrapper.gf_reset_wrapper th, body .gform_wrapper.gf_reset_wrapper thead, body .gform_wrapper.gf_reset_wrapper tr, body .gform_wrapper.gf_reset_wrapper ul {
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
  line-height: 1;
  font-weight: 400; }

body .gform_wrapper.gf_reset_wrapper div, body .gform_wrapper.gf_reset_wrapper p, body .gform_wrapper.gf_reset_wrapper span {
  line-height: 1.8; }

body .gform_wrapper.gf_reset_wrapper fieldset, body .gform_wrapper.gf_reset_wrapper img {
  border: 0; }

body .gform_wrapper.gf_reset_wrapper li, body .gform_wrapper.gf_reset_wrapper ol, body .gform_wrapper.gf_reset_wrapper ul {
  list-style: none; }

body .gform_wrapper.gf_reset_wrapper a img {
  border: none; }

body .gform_wrapper.gf_reset_wrapper :focus {
  outline: 0; }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

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

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

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }
  .gallery.gallery-columns-1 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-1 > .gallery-item {
      width: calc(100% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-2 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-2 > .gallery-item {
      width: calc(50% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-3 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-3 > .gallery-item {
      width: calc(33.33333% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-4 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-4 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-5 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-5 > .gallery-item {
      width: calc(20% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-6 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-6 > .gallery-item {
      width: calc(16.66667% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-7 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-7 > .gallery-item {
      width: calc(14.28571% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-8 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-8 > .gallery-item {
      width: calc(12.5% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery.gallery-columns-9 > .gallery-item {
    width: calc(50% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .gallery.gallery-columns-9 > .gallery-item {
      width: calc(11.11111% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }
  .gallery .gallery-icon > a {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: solid 4px #FFFFFF;
    border-radius: 0;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
    line-height: 0;
    transition: box-shadow 200ms ease-out; }
    .gallery .gallery-icon > a:hover, .gallery .gallery-icon > a:focus {
      box-shadow: 0 0 6px 1px rgba(211, 181, 131, 0.5); }
    .gallery .gallery-icon > a image {
      box-shadow: none; }
  .gallery .gallery-icon > img {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 1rem;
    border: solid 4px #FFFFFF;
    border-radius: 0;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
    line-height: 0; }

/*
Frontend styles for gutenberg blocks
*/
/** === Base Color Palatte === */
.has-primary-background-color {
  background-color: #D3B583; }

.has-primary-color {
  color: #D3B583; }

.has-secondary-background-color {
  background-color: #767676; }

.has-secondary-color {
  color: #767676; }

.has-success-background-color {
  background-color: #2A7E67; }

.has-success-color {
  color: #2A7E67; }

.has-warning-background-color {
  background-color: #ffae00; }

.has-warning-color {
  color: #ffae00; }

.has-alert-background-color {
  background-color: #d30031; }

.has-alert-color {
  color: #d30031; }

/** === Button === */
.wp-block-button .wp-block-button__link.has-primary-background-color {
  background-color: #D3B583; }

.wp-block-button .wp-block-button__link.has-primary-color {
  color: #D3B583; }

.wp-block-button .wp-block-button__link.has-secondary-background-color {
  background-color: #767676; }

.wp-block-button .wp-block-button__link.has-secondary-color {
  color: #767676; }

.wp-block-button .wp-block-button__link.has-success-background-color {
  background-color: #2A7E67; }

.wp-block-button .wp-block-button__link.has-success-color {
  color: #2A7E67; }

.wp-block-button .wp-block-button__link.has-warning-background-color {
  background-color: #ffae00; }

.wp-block-button .wp-block-button__link.has-warning-color {
  color: #ffae00; }

.wp-block-button .wp-block-button__link.has-alert-background-color {
  background-color: #d30031; }

.wp-block-button .wp-block-button__link.has-alert-color {
  color: #d30031; }

.wp-block-button.is-style-squared .wp-block-button__link {
  border-radius: 0; }

/** === File === */
.wp-block-file .wp-block-file__button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0;
  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: #D3B583;
  color: #FFFFFF; }
  [data-whatinput='mouse'] .wp-block-file .wp-block-file__button {
    outline: 0; }
  .wp-block-file .wp-block-file__button:hover, .wp-block-file .wp-block-file__button:focus {
    background-color: #c69e5d;
    color: #FFFFFF; }

/*-------------------------------------------------------------------------------------*/
/* Async Media Load
/*-------------------------------------------------------------------------------------*/
.video-container {
  background: #FFFFFF; }

/* line 11, ../scss/async.scss */
.videoloader, .video-container {
  width: 100%;
  height: 100%;
  display: block;
  line-height: 0;
  position: relative;
  overflow: hidden;
  top: 0;
  left: 0;
  padding-bottom: 50%;
  text-align: center; }

.video-loader {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; }

.video-play {
  border-radius: 6px;
  transition-property: opacity, background-color;
  transition-duration: 0.3s;
  overflow: hidden;
  text-indent: -9999px;
  z-index: 10;
  width: 65px;
  height: 40px;
  width: 108px;
  height: 108px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -33px;
  margin-top: -20px;
  background-image: url(../images/theme/play.svg);
  background-repeat: no-repeat;
  background-position: top left; }

.video-scrim {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(62, 62, 62, 0.35); }

/*//////////////////////////////*/
/*-------------------------------------------------------------------------------------*/
/* Fancybox CSS
/*-------------------------------------------------------------------------------------*/
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp {
  padding: 0;
  margin: 0;
  border: 0;
  outline: none;
  vertical-align: top; }

.fancybox-wrap {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8020; }

.fancybox-skin {
  position: relative;
  background: #f9f9f9;
  color: #444;
  text-shadow: none;
  border-radius: 4px; }

.fancybox-opened {
  z-index: 8030; }

.fancybox-opened .fancybox-skin {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5); }

.fancybox-outer, .fancybox-inner {
  position: relative; }

.fancybox-inner {
  overflow: hidden; }

.fancybox-type-iframe .fancybox-inner {
  -webkit-overflow-scrolling: touch; }

.fancybox-error {
  color: #444;
  font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  margin: 0;
  padding: 15px;
  white-space: nowrap; }

.fancybox-image, .fancybox-iframe {
  display: block;
  width: 100%;
  height: 100%; }

.fancybox-image {
  max-width: 100%;
  max-height: 100%; }

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
  background-image: url("../images/theme/fancybox_sprite.png"); }

#fancybox-loading {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -22px;
  margin-left: -22px;
  background-position: 0 -108px;
  opacity: 0.8;
  cursor: pointer;
  z-index: 8060; }

#fancybox-loading div {
  width: 44px;
  height: 44px;
  background: url("../images/theme/fancybox_loading.gif") center center no-repeat; }

.fancybox-close {
  position: absolute;
  top: -18px;
  right: -18px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 8040; }

.fancybox-nav {
  position: absolute;
  top: 0;
  width: 40%;
  height: 100%;
  cursor: pointer;
  text-decoration: none;
  background: transparent url("../images/theme/blank.gif");
  /* helps IE */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  z-index: 8040; }

.fancybox-prev {
  left: 0; }

.fancybox-next {
  right: 0; }

.fancybox-nav span {
  position: absolute;
  top: 50%;
  width: 36px;
  height: 34px;
  margin-top: -18px;
  cursor: pointer;
  z-index: 8040;
  visibility: hidden; }

.fancybox-prev span {
  left: 10px;
  background-position: 0 -36px; }

.fancybox-next span {
  right: 10px;
  background-position: 0 -72px; }

.fancybox-nav:hover span {
  visibility: visible; }

.fancybox-tmp {
  position: absolute;
  top: -99999px;
  left: -99999px;
  visibility: hidden;
  max-width: 99999px;
  max-height: 99999px;
  overflow: visible !important; }

/* Overlay helper */
.fancybox-lock {
  overflow: hidden !important;
  width: auto; }

.fancybox-lock body {
  overflow: hidden !important; }

.fancybox-lock-test {
  overflow-y: hidden !important; }

.fancybox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  display: none;
  z-index: 801000;
  background: url("../images/theme/fancybox_overlay.png"); }

.fancybox-overlay-fixed {
  position: fixed;
  bottom: 0;
  right: 0; }

.fancybox-lock .fancybox-overlay {
  overflow: auto;
  overflow-y: scroll; }

/* Title helper */
.fancybox-title {
  visibility: hidden;
  font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
  position: relative;
  text-shadow: none;
  z-index: 8050; }

.fancybox-opened .fancybox-title {
  visibility: visible; }

.fancybox-title-float-wrap {
  position: absolute;
  bottom: 0;
  right: 50%;
  margin-bottom: -35px;
  z-index: 8050;
  text-align: center; }

.fancybox-title-float-wrap .child {
  display: inline-block;
  margin-right: -100%;
  padding: 2px 20px;
  background: transparent;
  /* Fallback for web browsers that doesn't support RGBa */
  background: rgba(0, 0, 0, 0.8);
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  color: #FFF;
  font-weight: bold;
  line-height: 24px;
  white-space: nowrap; }

.fancybox-title-outside-wrap {
  position: relative;
  margin-top: 10px;
  color: #fff; }

.fancybox-title-inside-wrap {
  padding-top: 10px; }

.fancybox-title-over-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  color: #fff;
  padding: 10px;
  background: #000;
  background: rgba(0, 0, 0, 0.8); }

/*Retina graphics!*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  #fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
    background-image: url("../images/theme/fancybox_sprite@2x.png");
    background-size: 44px 152px;
    /*The size of the normal image, half the size of the hi-res image*/ }
  #fancybox-loading div {
    background-image: url("../images/theme/fancybox_loading@2x.gif");
    background-size: 24px 24px;
    /*The size of the normal image, half the size of the hi-res image*/ } }

/*//////////////////////////////*/
/*-------------------------------------------------------------------------------------*/
/* Fancybox Playus
/*-------------------------------------------------------------------------------------*/
.fancybox-opened .fancybox-skin {
  box-shadow: none; }

.fancybox-nav span {
  visibility: visible !important; }

.fancybox-next span {
  background-image: url(../images/theme/derecha.svg) !important;
  background-repeat: no-repeat !important;
  background-position: 50% 50% !important;
  right: -14% !important;
  width: 40px;
  height: 40px; }

.fancybox-prev span {
  background-image: url(../images/theme/izquierda.svg) !important;
  background-repeat: no-repeat !important;
  background-position: 50% 50% !important;
  left: -14% !important;
  width: 40px;
  height: 40px; }

.fancybox-close {
  background-image: url(../images/theme/cerrar.svg) !important;
  background-repeat: no-repeat !important;
  background-position: 50% 50% !important;
  width: 40px;
  height: 40px;
  top: -35px;
  right: -5%; }

@media screen and (max-width: 39.9375em) {
  .fancybox-close {
    width: 15px;
    height: 15px;
    background-size: 20px; }
  .fancybox-next span {
    width: 20px;
    height: 20px;
    background-size: 20px;
    right: -12% !important; }
  .fancybox-prev span {
    width: 20px;
    height: 20px;
    background-size: 20px;
    left: -12% !important; } }

/*//////////////////////////////*/
/*-------------------------------------------------------------------------------------*/
/* Owl Carousel CSS
/*-------------------------------------------------------------------------------------*/
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */ }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px); }

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.owl-carousel .owl-item img {
  display: block;
  width: 100%; }

.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none; }

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit; }

.owl-carousel.owl-loaded {
  display: block; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden; }

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
*  Owl Carousel - Animate Plugin
*/
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

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

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
	This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
	calculation of the height of the owl-item that breaks page layouts
	*/ }

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease; }

.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
  max-height: 0; }

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
  transition: transform 100ms ease, -webkit-transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  -ms-transform: scale(1.3, 1.3);
  -webkit-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/*//////////////////////////////*/
/*-------------------------------------------------------------------------------------*/
/* Owl Carousel Playus
/*-------------------------------------------------------------------------------------*/
.principal .owl-controls {
  position: absolute !important;
  bottom: 4rem !important;
  left: 0% !important;
  padding: 0 0.9375rem; }

.owl-tabs .owl-controls {
  position: absolute !important;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0% !important;
  padding: 0 0.9375rem; }

.owl-controls {
  width: 100% !important; }
  .owl-controls img {
    opacity: 1; }

.owl-prev {
  width: auto;
  float: left; }

.owl-next {
  width: auto;
  float: right; }

.owl-dots {
  margin-top: 0px;
  text-align: center; }

.owl-dot {
  width: 2%;
  display: inline-block; }

@media screen and (max-width: 39.9375em) {
  .owl-dot {
    width: 5%; } }

.owl-dot span {
  background: #ffffff !important;
  opacity: 0.5;
  height: 10px !important;
  width: 10px !important;
  border-radius: 5px;
  display: inline-block; }

.owl-dot.active span {
  opacity: 1 !important;
  background: #FFFFFF !important;
  height: 10px !important;
  width: 10px !important;
  display: inline-block;
  position: relative;
  z-index: 1; }

.owl-item {
  transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0); }

/*Arreglar espacio blanco entre items (Mover de aqui y agregar esto al final del css de owl carousel) */
/*//////////////////////////////*/
.sail-slide-ppal .owl-dots {
  margin-top: -50px; }

.owl-tabs {
  position: relative; }
  .owl-tabs .owl-nav {
    position: absolute;
    top: calc(50% - 18px);
    width: 100%; }
    .owl-tabs .owl-nav button {
      position: relative;
      margin: 0 15px; }
      .owl-tabs .owl-nav button .owl-next {
        right: 0; }

/*-------------------------------------------------------------------------------------*/
/* Gravity Forms Contact Property and Careers
/*-------------------------------------------------------------------------------------*/
#gform_wrapper_1 {
  margin: 0px auto;
  width: 80%;
  max-width: 100%; }

.gform_body {
  width: 100% !important;
  float: none !important;
  margin: 0 auto; }

.gform_heading {
  width: 100%;
  margin-bottom: 0.5rem; }

#gform_wrapper_1 form label {
  color: #4D4C4D;
  font-size: 14px;
  line-height: 16px;
  font-family: 'Roboto Light';
  display: none; }

#gform_wrapper_1 form input {
  width: 100%;
  display: inline-block;
  margin: 0px;
  margin-bottom: 1.5rem;
  border: 1px solid #697177;
  border-radius: 3px;
  height: 40px;
  box-shadow: none;
  color: #4D4C4D;
  font-size: 16px;
  line-height: 18px;
  font-family: 'Roboto Light';
  padding-right: 8px;
  padding-left: 8px;
  outline: none; }

#gform_wrapper_1 form textarea {
  width: 100%;
  display: inline-block;
  margin: 0px;
  margin-bottom: 1rem;
  border: 1px solid #697177;
  border-radius: 3px;
  box-shadow: none;
  color: #4D4C4D;
  font-size: 16px;
  line-height: 18px;
  font-family: 'Roboto Light';
  padding: 10px 8px;
  outline: none; }

#gform_wrapper_1 form .gfield {
  width: 100%;
  padding-right: 0px; }

#gform_wrapper_1 form .gfield_required {
  display: none; }

#gform_wrapper_1 form .ginput_container {
  margin-top: 0 !important; }

#gform_wrapper_1 form .gform_body {
  width: 100%;
  float: left; }

#gform_wrapper_1 form .gform_footer {
  width: 100%;
  padding: 0px;
  margin-top: 0px;
  text-align: right; }

#gform_wrapper_1 form .gform_footer button {
  margin-bottom: 0px; }

#gform_wrapper_1 form #input_2_4 {
  width: 100% !important; }

#gform_wrapper_1 form #input_5_4 {
  width: 100% !important; }

#gform_wrapper_1 form .gfield_error {
  background-color: #ffffff;
  border: none; }

#gform_wrapper_1 form .validation_error {
  width: 75%;
  border-top: none;
  border-color: #697177;
  font-size: 20px;
  line-height: 22px;
  font-family: 'Roboto Light';
  color: #cf0a2c;
  margin: 0 auto;
  margin-bottom: 2rem; }

#gform_wrapper_1 form .validation_message {
  margin: 0px;
  margin-left: 11px;
  margin-top: -15px;
  font-family: 'Roboto Light';
  font-weight: normal;
  font-size: 13px;
  line-height: 14px;
  color: #cf0a2c; }

#gform_wrapper_1 #gform_submit_button_1 {
  width: auto;
  display: inline-block;
  margin: 0px;
  margin-bottom: 1.5rem;
  background-color: #CBA75E;
  border: none;
  border-radius: 3px;
  height: 40px;
  box-shadow: none;
  color: #ffffff;
  font-size: 14px;
  line-height: 16px;
  font-family: 'Roboto Light';
  padding-right: 2rem;
  padding-left: 2rem;
  outline: none; }

#gform_wrapper_2 {
  margin: 0px auto;
  width: 80%;
  max-width: 100%; }

.gform_body {
  width: 100% !important;
  float: none !important;
  margin: 0 auto; }

.gform_heading {
  width: 100%;
  margin-bottom: 0.5rem; }

#gform_wrapper_2 form label {
  color: #4D4C4D;
  font-size: 14px;
  line-height: 16px;
  font-family: 'Roboto Light';
  display: none; }

#gform_wrapper_2 form input {
  width: 100%;
  display: inline-block;
  margin: 0px;
  margin-bottom: 1.5rem;
  border: 1px solid #697177;
  border-radius: 3px;
  height: 40px;
  box-shadow: none;
  color: #4D4C4D;
  font-size: 16px;
  line-height: 18px;
  font-family: 'Roboto Light';
  padding-right: 8px;
  padding-left: 8px;
  outline: none; }

#gform_wrapper_2 form textarea {
  width: 100%;
  display: inline-block;
  margin: 0px;
  margin-bottom: 1rem;
  border: 1px solid #697177;
  border-radius: 3px;
  box-shadow: none;
  color: #4D4C4D;
  font-size: 16px;
  line-height: 18px;
  font-family: 'Roboto Light';
  padding: 10px 8px;
  outline: none; }

#gform_wrapper_2 form .gfield {
  width: 100%;
  padding-right: 0px; }

#gform_wrapper_2 form .gfield_required {
  display: none; }

#gform_wrapper_2 form .ginput_container {
  margin-top: 0 !important; }

#gform_wrapper_2 form .gform_body {
  width: 100%;
  float: left; }

#gform_wrapper_2 form .gform_footer {
  width: 100%;
  padding: 0px;
  margin-top: 0px;
  text-align: right; }

#gform_wrapper_2 form .gform_footer button {
  margin-bottom: 0px; }

#gform_wrapper_2 form #input_2_4 {
  width: 100% !important; }

#gform_wrapper_2 form #input_5_4 {
  width: 100% !important; }

#gform_wrapper_2 form .gfield_error {
  background-color: #ffffff;
  border: none; }

#gform_wrapper_2 form .validation_error {
  width: 75%;
  border-top: none;
  border-color: #697177;
  font-size: 20px;
  line-height: 22px;
  font-family: 'Roboto Light';
  color: #cf0a2c;
  margin: 0 auto;
  margin-bottom: 2rem; }

#gform_wrapper_2 form .validation_message {
  margin: 0px;
  margin-left: 11px;
  margin-top: -15px;
  font-family: 'Roboto Light';
  font-weight: normal;
  font-size: 13px;
  line-height: 14px;
  color: #cf0a2c; }

#gform_wrapper_2 #gform_submit_button_2 {
  width: auto;
  display: inline-block;
  margin: 0px;
  margin-bottom: 1.5rem;
  background-color: #CBA75E;
  border: none;
  border-radius: 3px;
  height: 40px;
  box-shadow: none;
  color: #ffffff;
  font-size: 14px;
  line-height: 16px;
  font-family: 'Roboto Light';
  padding-right: 2rem;
  padding-left: 2rem;
  outline: none; }

.gform_confirmation_message {
  font-family: 'Roboto';
  font-size: 20px;
  line-height: 27px;
  width: 80%;
  margin: 0 auto;
  color: #697177; }

.otro-correo {
  padding-top: 2rem; }

/*//////////////////////////////*/
/*! jQuery UI - v1.12.1 - 2016-11-07
* http://jqueryui.com
* Includes: core.css, tabs.css
* Copyright jQuery Foundation and other contributors; Licensed MIT */
.ui-helper-hidden {
  display: none; }

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none; }

.ui-helper-clearfix:before, .ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse; }

.ui-helper-clearfix:after {
  clear: both; }

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;
  filter: Alpha(Opacity=0); }

.ui-front {
  z-index: 100; }

.ui-state-disabled {
  cursor: default !important;
  pointer-events: none; }

.ui-icon {
  display: inline-block;
  vertical-align: middle;
  margin-top: -.25em;
  position: relative;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat; }

.ui-widget-icon-block {
  left: 50%;
  margin-left: -8px;
  display: block; }

.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.ui-tabs {
  position: relative;
  padding: .2em; }

.ui-tabs .ui-tabs-nav {
  margin: 0;
  padding: .2em .2em 0; }

.ui-tabs .ui-tabs-nav li {
  list-style: none;
  float: left;
  position: relative;
  top: 0;
  margin: 1px .2em 0 0;
  border-bottom-width: 0;
  padding: 0;
  white-space: nowrap; }

.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
  float: left;
  padding: .5em 1em;
  text-decoration: none; }

.ui-tabs .ui-tabs-nav li.ui-tabs-active {
  margin-bottom: -1px;
  padding-bottom: 1px; }

.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
  cursor: text; }

.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
  cursor: pointer; }

.ui-tabs .ui-tabs-panel {
  display: block;
  border-width: 0;
  padding: 1em 1.4em;
  background: none; }

@media print, screen and (min-width: 40em) {
  .mobile-menu,
  .site-title-bar {
    display: none !important; } }

@media screen and (max-width: 39.99875em) {
  .desktop-menu,
  .site-navigation .top-bar-left {
    display: none !important; } }

.site-desktop-title a {
  font-weight: bold; }

.post-navigation::before, .post-navigation::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; }

.post-navigation::after {
  clear: both; }

.nav-previous {
  float: left; }

.nav-next {
  float: right; }

.site-header {
  background: #2C4562;
  background-repeat: repeat-x;
  background-image: linear-gradient(180deg, #2C4562, #827978);
  color: #FFFFFF; }
  .site-header a {
    color: #FFFFFF; }
  .site-header .head-phone, .site-header .head-mail {
    display: inline-block;
    vertical-align: middle;
    font-weight: 500; }
  .site-header .head-phone span {
    border-right: 1px solid #FFFFFF; }

.headright {
  text-align: right;
  display: inline-block;
  vertical-align: middle; }

#search-box-wrapper {
  position: relative;
  vertical-align: middle;
  display: inline-block;
  text-align: right;
  font-size: 0;
  width: 40%; }
  #search-box-wrapper #s {
    width: 75%;
    height: 30px;
    line-height: 30px;
    font-size: 0.75rem;
    display: inline-block;
    vertical-align: top;
    background-color: #FFFFFF;
    border: 0;
    border-radius: 0;
    padding: 0 0 0 5px;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }
    #search-box-wrapper #s::-webkit-input-placeholder {
      color: #000000; }
    #search-box-wrapper #s:-ms-input-placeholder {
      color: #000000; }
    #search-box-wrapper #s::placeholder {
      color: #000000; }
  #search-box-wrapper .submit-btn {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 20%;
    height: 30px; }
  #search-box-wrapper input.sb-submit {
    width: 100%;
    height: 100%;
    line-height: 30px;
    font-size: 0.75rem;
    display: block;
    outline: none;
    background: #d30031 url(../images/theme/magnifying-icon.png) no-repeat center;
    color: #FFFFFF;
    border: 0;
    border-radius: 0;
    font-size: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; }

.top-bar .menu {
  font-weight: 500; }

.top-bar .dropdown.menu > li > a {
  text-transform: uppercase;
  padding: 0.75rem 2.1875rem 0.625rem 2.1875rem; }

@media screen and (max-width: 39.99875em) {
  .align-small-left {
    -webkit-justify-content: left;
        -ms-flex-pack: left;
            justify-content: left; } }

.mobile-off-canvas-menu {
  padding-top: 2rem; }
  .mobile-off-canvas-menu .menu a {
    color: #A4AAB0;
    text-transform: uppercase; }

.main-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto; }
  @media print, screen and (min-width: 40em) {
    .main-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.main-grid {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-top: 1rem; }
  @media print, screen and (min-width: 40em) {
    .main-grid {
      margin-top: 3rem; } }
  .main-grid.sidebar-left .main-content {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .main-grid.sidebar-left .sidebar {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  @media print, screen and (min-width: 40em) {
    .main-grid.sidebar-left .main-content {
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; }
    .main-grid.sidebar-left .sidebar {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }
  .main-grid .main-content-full-width {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
  .main-grid .main-content {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .main-grid .main-content {
        width: calc(66.66667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
  .main-grid .sidebar {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .main-grid .sidebar {
        width: calc(33.33333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-top: 1rem; } }

.footer-container {
  background: #485560; }
  .footer-container .copyright {
    color: #A4AAB0;
    font-weight: 500;
    font-size: 0.6875rem;
    line-height: 1.5rem; }

.social-img {
  margin: 1.875rem 0.1875rem; }
  .social-img a {
    padding: 0; }
  .social-img .icon-social {
    background-image: url(../images/theme/smi.png);
    background-repeat: no-repeat;
    width: 1.75rem;
    height: 1.75rem;
    display: block; }
    .social-img .icon-social.ifacebook {
      background-position: 0 0; }
    .social-img .icon-social.itwitter {
      background-position: -2.1875rem 0; }
    .social-img .icon-social.iyoutube {
      background-position: -4.375rem 0; }
    .social-img .icon-social.ilinkedin {
      background-position: -6.5625rem 0; }
    .social-img .icon-social.ipinterest {
      background-position: -10.8125rem 0; }

.footer-menu {
  font-size: 0.6875rem;
  font-weight: 500; }
  .footer-menu li {
    border-left: 1px solid #A4AAB0;
    line-height: 10px; }
    .footer-menu li:first-child {
      border-left: none; }
  .footer-menu a {
    color: #A4AAB0;
    text-transform: uppercase;
    padding-top: 0;
    padding-right: 0.6875rem;
    padding-bottom: 0;
    padding-left: 0.75rem; }

body#tinymce {
  height: auto;
  max-width: 75rem;
  padding: 1.25rem !important; }

.sites-button {
  background: #D3B583;
  font-size: 1.25rem;
  font-weight: bold;
  box-shadow: 0 -2px 0 rgba(0, 0, 0, 0.2) inset;
  border-radius: 3px;
  border: none; }

.cards-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .cards-container .card {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    .cards-container .card .card-content {
      padding: 1rem; }
    @media print, screen and (min-width: 40em) {
      .cards-container .card {
        width: calc(33.33333% - 0.7rem);
        margin-right: 0.35rem;
        margin-left: 0.35rem; } }

.featured-hero {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 6.25rem; }
  @media print, screen and (min-width: 40em) {
    .featured-hero {
      height: 12.5rem; } }
  @media screen and (min-width: 75em) {
    .featured-hero {
      height: 25rem; } }

.dotted, .section-divider hr {
  border-style: dashed;
  margin: 2rem 0; }

[data-whatinput="mouse"] a:focus, button:focus [data-whatinput="touch"] a:focus, button:focus {
  outline: none; }

.front-hero {
  background: url("../images/demo/hero-bg-foundation-6-small.svg") bottom center;
  background-size: cover;
  background-position: bottom;
  padding: 4.0625rem 0;
  margin: 0 0 2rem;
  height: auto;
  position: relative;
  text-align: left; }
  .front-hero .marketing {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 55rem;
    margin: 0 auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media print, screen and (min-width: 40em) {
      .front-hero .marketing {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 40em) {
    .front-hero {
      background: url("../images/demo/hero-bg-foundation-6-large.svg") bottom center;
      background-size: cover;
      background-position: center;
      height: 42.8125rem;
      margin: 0 0 4.5rem; } }
  .front-hero .watch {
    width: calc(58.33333% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .watch {
        width: calc(100% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .front-hero .watch a {
      color: #B4C9D1;
      cursor: pointer;
      font-weight: 400;
      margin-right: 1.25rem; }
    .front-hero .watch a:hover {
      color: #fff; }
    .front-hero .watch #stargazers :before {
      content: "\f09b";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
    .front-hero .watch #twitter :before {
      content: "\f099";
      font-family: FontAwesome;
      font-style: normal;
      font-weight: normal;
      text-decoration: inherit;
      color: #B4C9D1;
      margin-right: 0.5rem; }
  .front-hero .tagline {
    width: calc(66.66667% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero .tagline {
        width: calc(41.66667% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        padding-top: 6rem; } }
  .front-hero h1 {
    color: #fff;
    font-weight: 500;
    font-size: 2.2rem; }
    @media print, screen and (min-width: 40em) {
      .front-hero h1 {
        font-size: 2.875rem; } }
  .front-hero h4 {
    color: #fefefe;
    font-weight: 300;
    font-size: 1.3125rem; }
  .front-hero .download {
    margin-top: 1.25rem; }

.intro {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .intro {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .intro .fp-intro {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .intro .fp-intro {
        width: calc(83.33333% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem;
        margin-left: calc(8.33333% + 0.625rem); }
        .intro .fp-intro h2 {
          font-weight: 300;
          margin-bottom: 1.5rem; }
        .intro .fp-intro h4 {
          font-size: 1.125rem;
          line-height: 1.6;
          color: #777;
          margin-bottom: 2rem; } }

.section-divider {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  @media print, screen and (min-width: 40em) {
    .section-divider {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .section-divider hr {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem;
    box-sizing: border-box; }

.benefits {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 75rem;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  text-align: center; }
  @media print, screen and (min-width: 40em) {
    .benefits {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .benefits header {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    .benefits header h2 {
      font-weight: 300; }
    .benefits header h4 {
      font-size: 1.125rem;
      line-height: 1.6;
      color: #777; }
  .benefits .semantic,
  .benefits .responsive,
  .benefits .customizable,
  .benefits .professional {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .benefits .semantic,
      .benefits .responsive,
      .benefits .customizable,
      .benefits .professional {
        width: calc(25% - 1.875rem);
        margin-right: 0.9375rem;
        margin-left: 0.9375rem; } }
    .benefits .semantic img,
    .benefits .responsive img,
    .benefits .customizable img,
    .benefits .professional img {
      padding: 1.25rem;
      margin: 1rem auto 0 auto; }
    .benefits .semantic h3,
    .benefits .responsive h3,
    .benefits .customizable h3,
    .benefits .professional h3 {
      color: #0a0a0a;
      font-weight: 300;
      font-size: 1.75rem; }
    .benefits .semantic p,
    .benefits .responsive p,
    .benefits .customizable p,
    .benefits .professional p {
      font-size: 0.9375rem; }
  .benefits .why-foundation {
    width: calc(100% - 1.25rem);
    margin-right: 0.625rem;
    margin-left: 0.625rem;
    margin-top: 4rem; }

.kitchen-sink-header {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }

.kitchen-sink-components {
  width: calc(100% - 1.25rem);
  margin-right: 0.625rem;
  margin-left: 0.625rem; }
  .kitchen-sink-components hr {
    margin: 3rem 0; }
  @media print, screen and (min-width: 64em) {
    .kitchen-sink-components {
      width: calc(75% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem; } }

.kitchen-sink-nav {
  display: none; }
  @media print, screen and (min-width: 64em) {
    .kitchen-sink-nav {
      width: calc(25% - 1.875rem);
      margin-right: 0.9375rem;
      margin-left: 0.9375rem;
      display: block;
      float: right; }
      .kitchen-sink-nav .docs-sub-menu {
        font-size: 0.85rem;
        margin-top: 1rem; }
      .kitchen-sink-nav .docs-menu-title {
        text-transform: uppercase;
        font-size: 0.75rem;
        color: #8a8a8a;
        font-weight: bold;
        line-height: 1;
        padding-left: 0.9rem;
        margin-bottom: 0.5rem;
        border-top: 1px solid #cacaca;
        margin-top: 1rem;
        padding-top: 1.5rem; }
      .kitchen-sink-nav .docs-toc {
        width: 100%;
        padding-left: 4rem;
        padding-right: 1rem; }
      .kitchen-sink-nav .docs-toc .active {
        background: #2199e8;
        color: white; }
      .kitchen-sink-nav .docs-toc .docs-sub-menu:first-child .docs-menu-title {
        margin-top: 0;
        border-top: 0;
        padding-top: 0; } }

.kitchen-sink-grid .grid-x {
  background: #d6ecfa;
  font-size: 12px;
  line-height: 2rem;
  margin-bottom: 1.5rem; }
  .kitchen-sink-grid .grid-x .cell, .kitchen-sink-grid .grid-x :nth-child(odd) {
    background: #7bc1ef;
    color: #0a0a0a; }
  .kitchen-sink-grid .grid-x .cell:nth-child(even) {
    background: #1779ba;
    color: #fefefe; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJnbG9iYWwvX3R5cGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiZ2xvYmFsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiZ2xvYmFsL19jb2xvcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NlbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aHVtYm5haWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fYW5pbWF0aW9uLnNjc3MiLCJhcHAuc2NzcyIsImdsb2JhbC9fZ2VuZXJhbGVzLnNjc3MiLCJnbG9iYWwvX3BhZGRpbmdzLW1hcmdpbnMuc2NzcyIsImdsb2JhbC9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiZ2xvYmFsL19ncmF2aXR5LXN0eWxlcy5zY3NzIiwiZ2xvYmFsL193cC1hZG1pbi5zY3NzIiwiZ2xvYmFsL193cC1vdmVycmlkZXMuc2NzcyIsImdsb2JhbC9fZ3V0ZW5iZXJnLnNjc3MiLCJtb2R1bGVzL19hc3luYy1tZWRpYS1sb2FkLnNjc3MiLCJtb2R1bGVzL19mYW5jeWJveC5zY3NzIiwibW9kdWxlcy9fb3dsLWNhcm91c2VsLnNjc3MiLCJtb2R1bGVzL19jdXN0b20tZ3Jhdml0eS1mb3Jtcy5zY3NzIiwibW9kdWxlcy9fanF1ZXJ5LXVpLnNjc3MiLCJtb2R1bGVzL19uYXZpZ2F0aW9uLnNjc3MiLCJtb2R1bGVzL190b3AtYmFyLnNjc3MiLCJtb2R1bGVzL19vZmYtY2FudmFzLnNjc3MiLCJtb2R1bGVzL19jb250ZW50LnNjc3MiLCJtb2R1bGVzL19mb290ZXIuc2NzcyIsIm1vZHVsZXMvX2VkaXRvci1zdHlsZS5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2ZlYXR1cmVkLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19kaXZpZGVycy5zY3NzIiwiY29tcG9uZW50cy9fbGlua3Muc2NzcyIsInRlbXBsYXRlcy9fZnJvbnQuc2NzcyIsInRlbXBsYXRlcy9fa2l0Y2hlbi1zaW5rLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDTWpCO0VBQ0MsdURBSnlDLEVBS3pDOztBQUdEO0VBQ0MsaUJBQWdCLEVBQ2hCOztBQUVEO0VBQ0MsaUJBQWdCLEVBQ2hCOztBQUVEO0VBQ0MsaUJBQWdCLEVBQ2hCOztBQUVEO0VBQ0MsaUJBQWdCLEVBQ2hCOztBQUtEO0VBQ0MsbUJDeUR3RCxFRHhEeEQ7O0FBR0Q7RUFDQywwQkFBeUIsRUFDekI7O0FFbkNELHFEQUFxRDtBQUNyRDtxREFDcUQ7QUFXckQscURBQXFEO0FBQ3JEO3FEQUNxRDtBQVFyRCxxREFBcUQ7QUFDckQ7cURBQ3FEO0FDM0JyRDs7Ozs7R0FLRztBQ2lLRztFQ3pISjtJQUNFLFlBQVc7SUFDWCxXQUFVO0lBQ1YsZUFBYyxFQUNmLEVBQUE7O0FDaERELDRFQUE0RTtBQVE1RTtFQUNFLGtCQUFpQjtFQUNqQiwrQkFBOEIsRUFDL0I7O0FBT0Q7RUFDRSxVQUFTLEVBQ1Y7O0FBS0Q7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCLEVBQ2pCOztBQVFEO0VBQ0Usd0JBQXVCO0VBQ3ZCLFVBQVM7RUFDVCxrQkFBaUIsRUFDbEI7O0FBS0Q7RUFDRSxrQ0FBaUM7RUFDakMsZUFBYyxF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MUUsc0JBQTZEO0lBQTdELHVCQUE2RCxFRHNHOUQ7RVB1QkM7SU83Qko7TUcxREUsNkJBRDRFO01GckMxRSx1QkFBNkQ7TUFBN0Qsd0JBQTZELEVENkcxRCxFQUFBO0VBckNQO0lHL0JFLFlBQW1CLEVIaUNwQjtFQUVEO0lHL0JFLFlBQW1CLEVIaUNwQjtFQU1DO0lHbkNBLGdDQURnSCxFSHNDL0c7RUFGRDtJR25DQSxpQ0FEZ0gsRUhzQy9HO0VBRkQ7SUduQ0EsMkJBRGdILEVIc0MvRztFQUZEO0lHbkNBLGlDQURnSCxFSHNDL0c7RUFGRDtJR25DQSxpQ0FEZ0gsRUhzQy9HO0VBRkQ7SUduQ0EsMkJBRGdILEVIc0MvRztFQUZEO0lHbkNBLGlDQURnSCxFSHNDL0c7RUFGRDtJR25DQSxpQ0FEZ0gsRUhzQy9HO0VBRkQ7SUduQ0EsMkJBRGdILEVIc0MvRztFQUZEO0lHbkNBLGlDQURnSCxFSHNDL0c7RUFGRDtJR25DQSxpQ0FEZ0gsRUhzQy9HO0VBRkQ7SUduQ0EsNEJBRGdILEVIc0MvRztFUHVDQztJT3JESjtNRy9CRSxZQUFtQixFSGlDcEI7SUFFRDtNRy9CRSxZQUFtQixFSGlDcEI7SUFNQztNR25DQSxpQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDRCQURnSCxFSHNDL0c7SUFGRDtNR25DQSxrQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDRCQURnSCxFSHNDL0c7SUFGRDtNR25DQSxrQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDRCQURnSCxFSHNDL0c7SUFGRDtNR25DQSxrQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDZCQURnSCxFSHNDL0c7SUFkSDtNRy9CRSxZQUFtQixFSGlDcEI7SUFFRDtNRy9CRSxZQUFtQixFSGlDcEI7SUFNQztNR25DQSxpQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDRCQURnSCxFSHNDL0c7SUFGRDtNR25DQSxrQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDRCQURnSCxFSHNDL0c7SUFGRDtNR25DQSxrQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDRCQURnSCxFSHNDL0c7SUFGRDtNR25DQSxrQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDZCQURnSCxFSHNDL0csRUFBQTtFUHVDQztJT3JESjtNRy9CRSxZQUFtQixFSGlDcEI7SUFFRDtNRy9CRSxZQUFtQixFSGlDcEI7SUFNQztNR25DQSxpQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDRCQURnSCxFSHNDL0c7SUFGRDtNR25DQSxrQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDRCQURnSCxFSHNDL0c7SUFGRDtNR25DQSxrQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDRCQURnSCxFSHNDL0c7SUFGRDtNR25DQSxrQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0Esa0NBRGdILEVIc0MvRztJQUZEO01HbkNBLDZCQURnSCxFSHNDL0csRUFBQTs7QUE4Q0g7RUM3SU0sd0JBQTZEO0VBQTdELHVCQUE2RCxFRGtKaEU7RVBaQztJT09KO01DN0lNLHlCQUE2RDtNQUE3RCx3QkFBNkQsRURrSmhFLEVBQUE7O0FBSUQ7RUN0Skksd0JBQTZEO0VBQTdELHVCQUE2RCxFRHdKaEU7RVBsQkM7SU9nQkY7TUN0SkkseUJBQTZEO01BQTdELHdCQUE2RCxFRHdKaEUsRUFBQTs7QUFYSDtFQzdJTSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVENkpoRTtFUHZCQztJT09KO01DN0lNLHlCQUE2RDtNQUE3RCx3QkFBNkQsRUQ2SmhFLEVBQUE7O0FJL0pIO0VENERFLFlBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxXQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsaUJBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxXQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsV0FEb0QsRUN6RHJEOztBQUZEO0VENERFLGlCQURvRCxFQ3pEckQ7O0FBRkQ7RUQ0REUsaUJBRG9ELEVDekRyRDs7QUFGRDtFRDRERSxhQURvRCxFQ3pEckQ7O0FYc0lHO0VXeElKO0lENERFLFlBRG9ELEVDekRyRDtFQUZEO0lENERFLFdBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLGFBRG9ELEVDekRyRCxFQUFBOztBWHNJRztFV3hJSjtJRDRERSxZQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxXQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxpQkFEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsV0FEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsV0FEb0QsRUN6RHJEO0VBRkQ7SUQ0REUsaUJBRG9ELEVDekRyRDtFQUZEO0lENERFLGlCQURvRCxFQ3pEckQ7RUFGRDtJRDRERSxhQURvRCxFQ3pEckQsRUFBQTs7QUFGRDtFRDRERSw0QkFEZ0gsRUN6RGpIOztBQUZEO0VENERFLDJCQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsaUNBRGdILEVDekRqSDs7QUFGRDtFRDRERSwyQkFEZ0gsRUN6RGpIOztBQUZEO0VENERFLDJCQURnSCxFQ3pEakg7O0FBRkQ7RUQ0REUsaUNBRGdILEVDekRqSDs7QUFGRDtFRDRERSxpQ0FEZ0gsRUN6RGpIOztBQUZEO0VENERFLDZCQURnSCxFQ3pEakg7O0FYc0lHO0VXeElKO0lENERFLDZCQURnSCxFQ3pEakg7RUFGRDtJRDRERSw0QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsa0NBRGdILEVDekRqSDtFQUZEO0lENERFLDRCQURnSCxFQ3pEakg7RUFGRDtJRDRERSw0QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsa0NBRGdILEVDekRqSDtFQUZEO0lENERFLGtDQURnSCxFQ3pEakg7RUFGRDtJRDRERSw4QkFEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNkJBRGdILEVDekRqSDtFQUZEO0lENERFLDRCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLDRCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsa0NBRGdILEVDekRqSDtFQUZEO0lENERFLDhCQURnSCxFQ3pEakgsRUFBQTs7QVhzSUc7RVd4SUo7SUQ0REUsNkJBRGdILEVDekRqSDtFQUZEO0lENERFLDRCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsNEJBRGdILEVDekRqSDtFQUZEO0lENERFLDRCQURnSCxFQ3pEakg7RUFGRDtJRDRERSxrQ0FEZ0gsRUN6RGpIO0VBRkQ7SUQ0REUsa0NBRGdILEVDekRqSDtFQUZEO0lENERFLDhCQURnSCxFQ3pEakgsRUFBQTs7QUp5TUc7RUtoTkUsZ0JBQTBCO0VBQTFCLGVBQTBCLEVMa04zQjtFSy9NRDtJQUVJLGdCQUEwQjtJQUExQixlQUEwQixFQUU3QjtFQW9CSztJRnNDUixnQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFlBRG9ELEVFbkMzQztFWmdIUDtJWWxITTtNRnNDUixnQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLFdBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsV0FEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixXQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLFlBRG9ELEVFbkMzQyxFQUFBO0VaZ0hQO0lZbEhNO01Gc0NSLGdCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsV0FEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixXQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsaUJBRG9ELEVFbkMzQztJQUZEO01Gc0NSLFdBRG9ELEVFbkMzQztJQUZEO01Gc0NSLGlCQURvRCxFRW5DM0M7SUFGRDtNRnNDUixpQkFEb0QsRUVuQzNDO0lBRkQ7TUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7O0FMeUxQO0VLL0tFLGdCQUEwQjtFQUExQixlQUEwQixFTGlMM0I7RUs5S0Q7SUFFSSxpQkFBNEI7SUFBNUIsZ0JBQTRCLEVBRS9COztBWitGRDtFT21FQTtJS2hORSxnQkFBMEI7SUFBMUIsZUFBMEIsRUxrTjNCO0lLL01EO01BRUksZ0JBQTBCO01BQTFCLGVBQTBCLEVBRTdCLEVBQUE7O0Fac0lEO0VZM0hNO0lGK0NSLGdCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsWUFEb0QsRUU1QzNDLEVBQUE7O0FaeUhQO0VZbEhNO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7O0FaZ0hQO0VZbEhNO0lGc0NSLGdCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsWUFEb0QsRUVuQzNDLEVBQUE7O0FaZ0hQO0VPeUVBO0lLL0tFLGdCQUEwQjtJQUExQixlQUEwQixFTGlMM0I7SUs5S0Q7TUFFSSxpQkFBNEI7TUFBNUIsZ0JBQTRCLEVBRS9CLEVBQUE7O0FaK0ZEO0VPbUVBO0lLaE5FLGdCQUEwQjtJQUExQixlQUEwQixFTGtOM0I7SUsvTUQ7TUFFSSxnQkFBMEI7TUFBMUIsZUFBMEIsRUFFN0IsRUFBQTs7QVpzSUQ7RVkzSE07SUYrQ1IsZ0JBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixZQURvRCxFRTVDM0MsRUFBQTs7QVp5SFA7RVkzSE07SUYrQ1IsZ0JBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixXQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLFdBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixpQkFEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsV0FEb0QsRUU1QzNDO0VBRkQ7SUYrQ1IsaUJBRG9ELEVFNUMzQztFQUZEO0lGK0NSLGlCQURvRCxFRTVDM0M7RUFGRDtJRitDUixZQURvRCxFRTVDM0MsRUFBQTs7QVp5SFA7RVlsSE07SUZzQ1IsZ0JBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixXQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLFdBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixpQkFEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsV0FEb0QsRUVuQzNDO0VBRkQ7SUZzQ1IsaUJBRG9ELEVFbkMzQztFQUZEO0lGc0NSLGlCQURvRCxFRW5DM0M7RUFGRDtJRnNDUixZQURvRCxFRW5DM0MsRUFBQTs7QVpnSFA7RU95RUE7SUsvS0UsZ0JBQTBCO0lBQTFCLGVBQTBCLEVMaUwzQjtJSzlLRDtNQUVJLGlCQUE0QjtNQUE1QixnQkFBNEIsRUFFL0IsRUFBQTs7QUxzTEQ7RU1oT0YsZ0JBQTZCLEVOa08xQjs7QUFFRDtFTXBPRixpQ0FBNkIsRU5zTzFCOztBQU5EO0VNaE9GLHNCQUE2QixFTmtPMUI7O0FBRUQ7RU1wT0YsdUNBQTZCLEVOc08xQjs7QUFORDtFTWhPRix1QkFBNkIsRU5rTzFCOztBQUVEO0VNcE9GLHdDQUE2QixFTnNPMUI7O0FBTkQ7RU1oT0YsaUJBQTZCLEVOa08xQjs7QUFFRDtFTXBPRixrQ0FBNkIsRU5zTzFCOztBQU5EO0VNaE9GLHVCQUE2QixFTmtPMUI7O0FBRUQ7RU1wT0Ysd0NBQTZCLEVOc08xQjs7QUFORDtFTWhPRix1QkFBNkIsRU5rTzFCOztBQUVEO0VNcE9GLHdDQUE2QixFTnNPMUI7O0FBTkQ7RU1oT0YsaUJBQTZCLEVOa08xQjs7QUFFRDtFTXBPRixrQ0FBNkIsRU5zTzFCOztBQU5EO0VNaE9GLHVCQUE2QixFTmtPMUI7O0FBRUQ7RU1wT0Ysd0NBQTZCLEVOc08xQjs7QUFORDtFTWhPRix1QkFBNkIsRU5rTzFCOztBQUVEO0VNcE9GLHdDQUE2QixFTnNPMUI7O0FBTkQ7RU1oT0YsaUJBQTZCLEVOa08xQjs7QUFFRDtFTXBPRixrQ0FBNkIsRU5zTzFCOztBQU5EO0VNaE9GLHVCQUE2QixFTmtPMUI7O0FBRUQ7RU1wT0Ysd0NBQTZCLEVOc08xQjs7QUFORDtFTWhPRix1QkFBNkIsRU5rTzFCOztBQUVEO0VNcE9GLHdDQUE2QixFTnNPMUI7O0FQN0ZEO0VPdUZBO0lNaE9GLGdCQUE2QixFTmtPMUI7RUFFRDtJTXBPRixrQ0FBNkIsRU5zTzFCO0VBTkQ7SU1oT0Ysc0JBQTZCLEVOa08xQjtFQUVEO0lNcE9GLHdDQUE2QixFTnNPMUI7RUFORDtJTWhPRix1QkFBNkIsRU5rTzFCO0VBRUQ7SU1wT0YseUNBQTZCLEVOc08xQjtFQU5EO0lNaE9GLGlCQUE2QixFTmtPMUI7RUFFRDtJTXBPRixtQ0FBNkIsRU5zTzFCO0VBTkQ7SU1oT0YsdUJBQTZCLEVOa08xQjtFQUVEO0lNcE9GLHlDQUE2QixFTnNPMUI7RUFORDtJTWhPRix1QkFBNkIsRU5rTzFCO0VBRUQ7SU1wT0YseUNBQTZCLEVOc08xQjtFQU5EO0lNaE9GLGlCQUE2QixFTmtPMUI7RUFFRDtJTXBPRixtQ0FBNkIsRU5zTzFCO0VBTkQ7SU1oT0YsdUJBQTZCLEVOa08xQjtFQUVEO0lNcE9GLHlDQUE2QixFTnNPMUI7RUFORDtJTWhPRix1QkFBNkIsRU5rTzFCO0VBRUQ7SU1wT0YseUNBQTZCLEVOc08xQjtFQU5EO0lNaE9GLGlCQUE2QixFTmtPMUI7RUFFRDtJTXBPRixtQ0FBNkIsRU5zTzFCO0VBTkQ7SU1oT0YsdUJBQTZCLEVOa08xQjtFQUVEO0lNcE9GLHlDQUE2QixFTnNPMUI7RUFORDtJTWhPRix1QkFBNkIsRU5rTzFCO0VBRUQ7SU1wT0YseUNBQTZCLEVOc08xQixFQUFBOztBUDdGRDtFT3VGQTtJTWhPRixnQkFBNkIsRU5rTzFCO0VBRUQ7SU1wT0Ysa0NBQTZCLEVOc08xQjtFQU5EO0lNaE9GLHNCQUE2QixFTmtPMUI7RUFFRDtJTXBPRix3Q0FBNkIsRU5zTzFCO0VBTkQ7SU1oT0YsdUJBQTZCLEVOa08xQjtFQUVEO0lNcE9GLHlDQUE2QixFTnNPMUI7RUFORDtJTWhPRixpQkFBNkIsRU5rTzFCO0VBRUQ7SU1wT0YsbUNBQTZCLEVOc08xQjtFQU5EO0lNaE9GLHVCQUE2QixFTmtPMUI7RUFFRDtJTXBPRix5Q0FBNkIsRU5zTzFCO0VBTkQ7SU1oT0YsdUJBQTZCLEVOa08xQjtFQUVEO0lNcE9GLHlDQUE2QixFTnNPMUI7RUFORDtJTWhPRixpQkFBNkIsRU5rTzFCO0VBRUQ7SU1wT0YsbUNBQTZCLEVOc08xQjtFQU5EO0lNaE9G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O01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsOEJBRGdILEVIc0MvRztJQWRIO01HL0JFLGFBQW1CLEVIaUNwQjtJQUVEO01HL0JFLGFBQW1CLEVIaUNwQjtJQU1DO01HbkNBLGtDQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsOEJBRGdILEVIc0MvRyxFQUFBO0VQdUNDO0lPckRKO01HL0JFLGFBQW1CLEVIaUNwQjtJQUVEO01HL0JFLGFBQW1CLEVIaUNwQjtJQU1DO01HbkNBLGtDQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsOEJBRGdILEVIc0MvRyxFQUFBOztBQTBPSDtFT3pWRSxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLDBCQUFpQjtNQUFqQixzQkFBaUI7VUFBakIsa0JBQWlCO0VBQ2pCLDZCQUFvQjtNQUFwQix3QkFBb0I7VUFBcEIscUJBQW9CO0VBMkJoQixhQUFzQyxFUDZUM0M7O0FBRUQ7RUFDRSxZQUFXLEVBQ1o7O0FBRUQ7RU9oVEUsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBR2pCLGtDQUFpQztFQUNqQyw2Q0FBNEMsRVA2UzNDOztBQUVEO0VPeFRFLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBTWxCLGtDQUFpQztFQUNqQyw2Q0FBNEMsRVBpVDNDOztBQUdEO0VPN1NBLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsK0JBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsaUJBQWdCLEVQNlNmO0VPM1NEO0lBQ0UsaUJBQWdCO0lBQ2hCLDBCQUFpQjtRQUFqQixzQkFBaUI7WUFBakIsa0JBQWlCLEVBQ2xCOztBZGtGRztFTzJORjtJT2pYQSxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLDBCQUFpQjtRQUFqQixzQkFBaUI7WUFBakIsa0JBQWlCO0lBQ2pCLDZCQUFvQjtRQUFwQix3QkFBb0I7WUFBcEIscUJBQW9CO0lBMkJoQixhQUFzQyxFUHFWekM7RUFFRDtJQUNFLFlBQVcsRUFDWjtFQUVEO0lPeFVBLGlCQUFnQjtJQUNoQixnQkFBZTtJQUdqQixrQ0FBaUM7SUFDakMsNkNBQTRDLEVQcVV6QztFQUVEO0lPaFVGLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsK0JBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsaUJBQWdCLEVQZ1ViO0lPOVRIO01BQ0UsaUJBQWdCO01BQ2hCLDBCQUFpQjtVQUFqQixzQkFBaUI7Y0FBakIsa0JBQWlCLEVBQ2xCO0VQNlRDO0lPcFZBLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIsaUJBQWdCO0lBTWxCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVA2VXpDLEVBQUE7O0FQN09DO0VPMk5GO0lPalhBLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJBQWlCO1FBQWpCLHNCQUFpQjtZQUFqQixrQkFBaUI7SUFDakIsNkJBQW9CO1FBQXBCLHdCQUFvQjtZQUFwQixxQkFBb0I7SUEyQmhCLGFBQXNDLEVQcVZ6QztFQUVEO0lBQ0UsWUFBVyxFQUNaO0VBRUQ7SU94VUEsaUJBQWdCO0lBQ2hCLGdCQUFlO0lBR2pCLGtDQUFpQztJQUNqQyw2Q0FBNEMsRVBxVXpDO0VBRUQ7SU9oVUYsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiwrQkFBc0I7UUFBdEIsMkJBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixpQkFBZ0IsRVBnVWI7SU85VEg7TUFDRSxpQkFBZ0I7TUFDaEIsMEJBQWlCO1VBQWpCLHNCQUFpQjtjQUFqQixrQkFBaUIsRUFDbEI7RVA2VEM7SU9wVkEsaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFNbEIsa0NBQWlDO0lBQ2pDLDZDQUE0QyxFUDZVekMsRUFBQTs7QUFJRDtFQUVJLFlBQVc7RU96WWYsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQiwwQkFBaUI7TUFBakIsc0JBQWlCO1VBQWpCLGtCQUFpQjtFQUNqQiw2QkFBb0I7TUFBcEIsd0JBQW9CO1VBQXBCLHFCQUFvQjtFQXlCaEIsY0FBdUMsRVArV3hDOztBUHJQRDtFT2lQRjtJQVFNLFlBQVc7SU8vWWpCLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJBQWlCO1FBQWpCLHNCQUFpQjtZQUFqQixrQkFBaUI7SUFDakIsNkJBQW9CO1FBQXBCLHdCQUFvQjtZQUFwQixxQkFBb0I7SUF5QmhCLGNBQXVDLEVQcVh0QyxFQUFBOztBUDNQSDtFT2lQRjtJQVFNLFlBQVc7SU8vWWpCLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsMEJBQWlCO1FBQWpCLHNCQUFpQjtZQUFqQixrQkFBaUI7SUFDakIsNkJBQW9CO1FBQXBCLHdCQUFvQjtZQUFwQixxQkFBb0I7SUF5QmhCLGNBQXVDLEVQcVh0QyxFQUFBOztBQUlMO0VBRUksYUFBWSxFQUNiOztBUGxRRDtFTytQRjtJQU1NLGFBQVksRUFDYixFQUFBOztBUHRRSDtFTytQRjtJQU1NLGFBQVksRUFDYixFQUFBOztBQW5TUDtFQ3pHTSxzQkFBNkQ7RUFBN0QseUJBQTZELEVEd0lsRTtFUEZHO0lPN0JKO01DekdNLHVCQUE2RDtNQUE3RCwwQkFBNkQsRUR3SWxFLEVBQUE7RUEvQkQ7SUcxREUsNkJBRDRFO0lGckMxRSxxQkFBNkQ7SUFBN0Qsd0JBQTZELEVEc0c5RDtFUHVCQztJTzdCSjtNRzFERSw4QkFENEU7TUZyQzFFLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUQ2RzFELEVBQUE7RUFyQ1A7SUcvQkUsYUFBbUIsRUhpQ3BCO0VBRUQ7SUcvQkUsYUFBbUIsRUhpQ3BCO0VBTUM7SUduQ0EsaUNBRGdILEVIc0MvRztFQUZEO0lHbkNBLGtDQURnSCxFSHNDL0c7RUFGRDtJR25DQSw0QkFEZ0gsRUhzQy9HO0VBRkQ7SUduQ0Esa0NBRGdILEVIc0MvRztFQUZEO0lHbkNBLGtDQURnSCxFSHNDL0c7RUFGRDtJR25DQSw0QkFEZ0gsRUhzQy9HO0VBRkQ7SUduQ0Esa0NBRGdILEVIc0MvRztFQUZEO0lHbkNBLGtDQURnSCxFSHNDL0c7RUFGRDtJR25DQSw0QkFEZ0gsRUhzQy9HO0VBRkQ7SUduQ0Esa0NBRGdILEVIc0MvRztFQUZEO0lHbkNBLGtDQURnSCxFSHNDL0c7RUFGRDtJR25DQSw2QkFEZ0gsRUhzQy9HO0VQdUNDO0lPckRKO01HL0JFLGFBQW1CLEVIaUNwQjtJQUVEO01HL0JFLGFBQW1CLEVIaUNwQjtJQU1DO01HbkNBLGtDQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsOEJBRGdILEVIc0MvRztJQWRIO01HL0JFLGFBQW1CLEVIaUNwQjtJQUVEO01HL0JFLGFBQW1CLEVIaUNwQjtJQU1DO01HbkNBLGtDQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsOEJBRGdILEVIc0MvRyxFQUFBO0VQdUNDO0lPckRKO01HL0JFLGFBQW1CLEVIaUNwQjtJQUVEO01HL0JFLGFBQW1CLEVIaUNwQjtJQU1DO01HbkNBLGtDQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsNkJBRGdILEVIc0MvRztJQUZEO01HbkNBLG1DQURnSCxFSHNDL0c7SUFGRDtNR25DQSxtQ0FEZ0gsRUhzQy9HO0lBRkQ7TUduQ0EsOEJBRGdILEVIc0MvRyxFQUFBOztBQW1URDtFTy9ZSSw4QkFBbUMsRVBpWnRDO0VQOVFDO0lPNFFGO01PL1lJLCtCQUFtQyxFUGladEMsRUFBQTtFUDlRQztJTzRRRjtNTy9ZSSwrQkFBbUMsRVBpWnRDLEVBQUE7O0FQOVFDO0VPZ1JBO0lPblpFLCtCQUFtQyxFUHFacEMsRUFBQTs7QVBsUkQ7RU9nUkE7SU9uWkUsK0JBQW1DLEVQcVpwQyxFQUFBOztBUXpMTDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEO0VBQ0Usb0JYaEgwQjtFV2tIMUIsbUJBQWtCO0VBQ2xCLGlCWHBIc0I7RVdxSHRCLG1DWG5IeUMsRVdvSDFDOztBQUdEOztFQUVFLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBR0Q7O0VBRUUsa0JYeE1xQjtFV3lNckIscUJBQW9CLEVBQ3JCOztBYm5ORDtFYXVORSxlWDFJaUI7RVcySWpCLHFCQUFvQixFQUNyQjs7QUFHRDs7Ozs7O0VBTUUsdURuQnZUc0M7RW1Cd1R0QyxtQlg5S3NCO0VXK0t0QixpQlg1TnNCO0VXNk50QixlVnhUVTtFVXlUVixtQ1gxSnNDLEVXZ0t2QztFQWhCRDs7Ozs7O0lBYUksZUFBYztJQUNkLGVYN09lLEVXOE9oQjs7QUFRRztFQUlJLGtCbEJ2UDZDO0VrQm1RN0MsaUJYM01XO0VXbU5YLGNBQWE7RUFPYixzQlh6TmlCLEVXMk5wQjs7QUFqQ0Q7RUFJSSxtQmxCdlA2QztFa0JtUTdDLGlCWDNNVztFV21OWCxjQUFhO0VBT2Isc0JYek5pQixFVzJOcEI7O0FBakNEO0VBSUkscUJsQnZQNkM7RWtCbVE3QyxpQlgzTVc7RVdtTlgsY0FBYTtFQU9iLHNCWHpOaUIsRVcyTnBCOztBQWpDRDtFQUlJLG9CbEJ2UDZDO0VrQm1RN0MsaUJYM01XO0VXbU5YLGNBQWE7RUFPYixzQlh6TmlCLEVXMk5wQjs7QUFqQ0Q7RUFJSSxxQmxCdlA2QztFa0JtUTdDLGlCWDNNVztFV21OWCxjQUFhO0VBT2Isc0JYek5pQixFVzJOcEI7O0FBakNEO0VBSUksZ0JsQnZQNkM7RWtCbVE3QyxpQlgzTVc7RVdtTlgsY0FBYTtFQU9iLHNCWHpOaUIsRVcyTnBCOztBZnRNSDtFZXFLRTtJQUlJLGdCbEJ2UDZDLEVrQm9SaEQ7RUFqQ0Q7SUFJSSxrQmxCdlA2QyxFa0JvUmhEO0VBakNEO0lBSUkscUJsQnZQNkMsRWtCb1JoRDtFQWpDRDtJQUlJLHFCbEJ2UDZDLEVrQm9SaEQ7RUFqQ0Q7SUFJSSxtQmxCdlA2QyxFa0JvUmhEO0VBakNEO0lBSUksZ0JsQnZQNkMsRWtCb1JoRCxFQUFBOztBYnBUUDtFYTJURSxxQkFBb0I7RUFDcEIsZVZqWFk7RVVrWFosc0JYbk15QjtFV3FNekIsZ0JBQWUsRUFhaEI7RUFsQkQ7SUFTSSxlWDFNMkQsRVc4TTVEO0VBYkg7SUFnQkksVUFBUyxFQUNWOztBYjlWSDtFYW1XRSxZQUFXO0VBRVgsaUJsQmxUcUQ7RWtCbVRyRCxVQUFTO0VBQ1QscUJYdE55QjtFV3dOekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNYM1RpQjtFVzRUakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQlhoUDBCO0VXaVAxQiw2QlgvTnlCO0VXZ096QixpQlhuUHNCLEVXb1B2Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCWHpPc0I7RVcwT3RCLHNCWDVPa0IsRVc2T25COztBQUdEO0VBQ0UscUJYL09zQixFV2dQdkI7O0FBR0Q7RUFFSSxxQlhwUDJCO0VXcVAzQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQlgxUHlCLEVXZ1ExQjtFQVBEO0lBSUksc0JYM1A4QjtJVzRQOUIsa0JYMVZtQixFVzJWcEI7O0FBSUg7RUFDRSxpQlh6UjBCO0VXMFIxQix1Q2xCMVdxRDtFa0IyV3JELCtCWDlXaUIsRVdvWGxCO0VBVEQ7SUFNSSxpQlgvUm9CO0lXZ1NwQixlWGpYYSxFV2tYZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQmxCdFhxRDtFa0J1WHJELGVYelhlLEVXOFhoQjtFQVJEO0lBTUksY1g3UTZCLEVBQUE7O0FXa1JqQztFQUNFLGtDVmhkVztFVWlkWCxhQUFZO0VBQ1osc0JBQXFCLEVBQ3RCOztBQUdEO0VBQ0UsVUFBUyxF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LFlBQVc7RUFDWCxrQkFMc0o7RUFNdEosaUJ2Qkh1RDtFdUJJdkQsZ0JoQm1XK0I7RWdCalcvQiwwQmhCVG1CO0VnQlVuQixpQmhCR2U7RWdCRmYsMEJmekZjO0VlMEZkLCtDZnpGYTtFZTJGYixxQmhCbVZ5QjtFZ0JsVnpCLGdCdkJadUQ7RXVCYXZELGlCaEJMd0I7RWdCTXhCLGlCaEI3QnFCO0VnQjhCckIsZWYvRmE7RWVrR1gsNERoQnlWOEQ7RWdCcFU5RCx5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQixFQUNqQjtFekI0bUVEOztJeUI3bkVFLGNBQWE7SUFDYiwwQmhCMUJlO0lnQjJCZiwwQmYxR1k7SWUyR1osNEJoQjdCaUI7SWdCZ0NmLDREaEI4VTRELEVnQjVVL0Q7O0FsQjBGRDtFa0I3RUUsZ0JBQWUsRUFLaEI7RUFORDtJQUlJLGFBQVksRUFDYjs7QUFHSDs7O0VBS0ksMEJoQjVEYztFZ0I2RGQsb0JoQmlUNkIsRWdCaFQ5Qjs7QXpCNm1FTDs7RXlCdm1FSSx5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixpQmhCdkRhLEVnQndEZDs7QUFHRDtFQUNFLHVCQUFzQixFQUN2Qjs7QUFnQkQ7RUFDRSxlaEIzRmlCLEVnQjRGbEI7O0FBRkQ7RUFDRSxlaEIzRmlCLEVnQjRGbEI7O0FBRkQ7RUFDRSxlaEIzRmlCLEVnQjRGbEI7O0F6QnlsRUg7OztFMEI5dkVJLGlCeEI0RXFELEV3QjNFdEQ7O0ExQmt3RUg7O0UwQjd2RUksc0JBQXFCO0VBQ3JCLHlCQUF3QjtFQUV4QixvQkFBa0Q7RUFDbEQsbUJ4QmtFcUQ7RXdCakVyRCxpQkFBZ0IsRUFLakI7RTFCMHZFRDs7STBCNXZFSSxnQkFBZSxFQUNoQjs7QUFJSDs7RUFFRSxxQkFBbUQsRUFDcEQ7O0ExQjR2RUg7RTBCeHZFSSxZQUFXLEVBQ1o7O0FDR0Q7RUFqQkEsZUFBYztFQUNkLFVBQVM7RUFFVCxvQnpCNER1RDtFeUIzRHZELGlCbEJtRXdCO0VrQmxFeEIsaUJsQmtaMEI7RWtCaloxQixlakJ2QmEsRWlCd0NaO0VBTkQ7SUFMQSxpQnpCbUR1RDtJeUJsRHZELHFCQUE4RCxFQVMzRDs7QUMxQkg7RUFHRSxvQkFGdUM7RUFHdkMscUIxQitEcUQ7RTBCOURyRCxtQm5COFl3QjtFbUI3WXhCLGVsQm5CVyxFa0JvQlo7O0FDRkQ7RUFDRSxzQkFBaUM7RUFBakMscUJBQWlDO0VBQWpDLGNBQWlDO0VBQ2pDLFlBQVc7RUFDWCxvQjNCMkRxRDtFMkJ4RG5ELDZCQUFvQjtNQUFwQix3QkFBb0I7VUFBcEIscUJBQW9CLEVBY3ZCO0VBcEJEO0lBV00sdUJwQjZEUyxFb0I1RFY7RUFaTDtJQWlCTSx1QkFBaUgsRUFDbEg7O0FBSUw7Ozs7RUFDRSxVQUFTO0VBQ1Qsb0JBQW1CLEVBTXBCOztBQUVEO0VBRUUsZ0JwQmdYdUI7RW9CL1d2QiwwQnBCd0JpQjtFb0J2QmpCLG9CcEJzQmdCO0VvQnBCaEIsZW5CeERXO0VtQnlEWCxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBR2pCLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsdUJBQWM7TUFBZCxtQkFBYztVQUFkLGVBQWM7RUFDZCw0QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQixFQWdCdEI7RUE3QkQ7SUFzQk0sZ0JBQWlDLEVBQ2xDO0VBdkJMO0lBMEJNLGVBQWdDLEVBQ2pDOztBQUlMO0VBRUUsaUJBQWdCO0VBR2Qsc0JBQWE7TUFBYixrQkFBYTtVQUFiLGNBQWE7RUFDYixhQUFZLEVBRWY7O0FBRUQ7RUFFRSxlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLG1CQUFrQjtFQUdoQixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHVCQUFjO01BQWQsbUJBQWM7VUFBZCxlQUFjLEVBd0JqQjtFQWhDRDs7OztJQXNCTSw0QkFBbUI7UUFBbkIsNkJBQW1CO2dCQUFuQiw0QkFBbUI7WUFBbkIsb0JBQW1CO0lBQ25CLGFBQVk7SUFLZCxlQUFjO0lBQ2Qsa0JBQWlCO0lBQ2pCLGdCM0J6Q21ELEUyQjBDcEQ7O0F0QnFESDtFdUJoSkUsVUFBUztFQUNULFdBQVU7RUFDVixVQUFTLEVBQ1Y7O0F2QnNKRDtFdUJuSkUsZ0JBQWU7RUFDZixzQkFBa0MsRUFDbkM7O0FBRUQ7RUF4QkEsbUI1Qm9FVztFNEJuRVgsaUI1QjhEdUQ7RTRCN0R2RCwwQnJCMERtQixFcUJsQ2xCO0VBdEJEO0lBRUUsVUFBUztJQUNULHdCNUJ3RHFEO0k0QnZEckQscUI1QnVEcUQsRTRCdER0RDs7QXRCOEpEO0V1QnpLQSxrQkFGc0o7RUFHdEosaUI3QmdFdUQ7RTZCL0R2RCxnQnRCc2ErQjtFc0JwYS9CLHlCQUFnQjtLQUFoQixzQkFBZ0I7VUFBaEIsaUJBQWdCO0VBQ2hCLDBCdEJ5RG1CO0VzQnhEbkIsaUJ0QnFFZTtFc0JwRWYsMEJyQnZCYztFcUJ5QmQscUJ0QnNaeUI7RXNCclp6QixnQjdCdUR1RDtFNkJ0RHZELGlCdEI4RHdCO0VzQjdEeEIsaUJ0QnNDcUI7RXNCckNyQixlckI1QmE7RUM4SWIseU9BQXlOO0VvQjlHdk4sK0JBQThCO0VBQzlCLHdDQUEwRDtFQUMxRCw2QkFBNEI7RUFDNUIseUJBQXdCO0VBRXhCLHNCQUF1RDtFQUl2RCw0RHRCa1o4RCxFc0IvVy9EO0VwQm9FRDtJSHdDQTtNR3JDSSx3V0FBdVcsRW9CdkUxVyxFQUFBO0VBL0JEO0lBQ0UsY0FBYTtJQUNiLDBCdEIrQmU7SXNCOUJmLDBCckJqRFk7SXFCa0RaLDRCdEI0QmlCO0lzQnpCZiw0RHRCdVk0RCxFc0JyWS9EO0VBR0Q7SUFDRSwwQnRCa0JnQjtJc0JqQmhCLG9CdEIrWCtCLEVzQjlYaEM7RUFHRDtJQUNFLGNBQWEsRUFDZDtFQUVEO0lBQ0UsYUFBWTtJQUNaLHVCQUFzQixFQUN2Qjs7QUNsQ0Q7RUFDRSxzQnRCeENVO0VzQnlDViwwQkFBK0QsRUFLaEU7RUFIQztJQUNFLGV0QjVDUSxFc0I2Q1Q7RUFGRDtJQUNFLGV0QjVDUSxFc0I2Q1Q7RUFGRDtJQUNFLGV0QjVDUSxFc0I2Q1Q7O0FBeUJEO0VBQ0UsZXRCdkVRLEVzQndFVDs7QUFJSDtFQXpCQSxjQUFhO0VBQ2Isb0JBQWdDO0VBQ2hDLG9COUI4QnVEO0U4QjVC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QixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSixpQkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSixpQkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSixpQkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSixpQkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QUFGRDtFQ2hDSixpQkQrQmdCO01DL0JoQixrQkQrQmdCO1VDL0JoQixTRCtCZ0IsRUFHWDs7QTVEc0REO0U0RHhEQTtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1gsRUFBQTs7QTVEc0REO0U0RHhEQTtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNoQ0osaUJEK0JnQjtRQy9CaEIsa0JEK0JnQjtZQy9CaEIsU0QrQmdCLEVBR1g7RUFGRDtJQ2hDSixpQkQrQmdCO1FDL0JoQixrQkQrQmdCO1lDL0JoQixTRCtCZ0IsRUFHWDtFQUZEO0lDaENKLGlCRCtCZ0I7UUMvQmhCLGtCRCtCZ0I7WUMvQmhCLFNEK0JnQixFQUdYO0VBRkQ7SUNo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QXVDO0VBQXZDLDJEQUF1QztFQUd6QyxvQ0FBMkI7VUFBM0IsNEJBQTJCLEVKVDFCOztBQVVEO0VHb0JBLHFDQUZ5QjtNQUV6QixpQ0FGeUI7VUFFekIsNkJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGaENrQztFSUVsQyw2QkFBNEIsRUxBM0I7O0FBVUQ7RUdvQkEsV0ZoQ3FDLEVEY3BDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0YvQmtDO0VJQ2xDLDZCQUE0QixFTEEzQjs7QUFVRDtFR29CQSxXRi9CcUMsRURhcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyw4QkY1Qm1EO01FNEJuRCwwQkY1Qm1EO1VFNEJuRCxzQkY1Qm1EO0VNSWpELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQUDVCOztBQVVEO0VHb0JBLG9ER1Q0QztVSFM1Qyw0Q0dUNEM7RUNKMUMsV0FBMkIsRVBMNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxnQ0YzQnFEO01FMkJyRCw0QkYzQnFEO1VFMkJyRCx3QkYzQnFEO0VNR25ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQUDVCOztBQVVEO0VHb0JBLG9ER1Q0QztVSFM1Qyw0Q0dUNEM7RUNKMUMsV0FBMkIsRVBMNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREduQ2lDO1VIbUNqQyw4Q0duQ2lDO0VIbUNqQyxpQ0YxQnNEO01FMEJ0RCw2QkYxQnNEO1VFMEJ0RCx5QkYxQnNEO0VNRXBELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQUDVCOztBQVVEO0VHb0JBLG9ER1Q0QztVSFM1Qyw0Q0dUNEM7RUNKMUMsV0FBMkIsRVBMNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixzREdsQytCO1VIa0MvQiw4Q0dsQytCO0VIa0MvQiwrQkZ6Qm9EO01FeUJwRCwyQkZ6Qm9EO1VFeUJwRCx1QkZ6Qm9EO0VNQ2xELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQUDVCOztBQVVEO0VHb0JBLG9ER1Q0QztVSFM1Qyw0Q0dUNEM7RUNKMUMsV0FBMkIsRVBMNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VIcUNuQyxpQ0dFZTtNSEZmLDZCR0VlO1VIRmYseUJHRWU7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBQNUI7O0FBVUQ7RUdvQkEsb0RHVDRDO1VIUzVDLDRDR1Q0QztFQ0oxQyxXQUEyQixFUEw1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGlDR0VlO01IRmYsNkJHRWU7VUhGZix5QkdFZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7VUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUDhDO1VITzlDLDRDR1A4QztFSE85Qyw4QkZ0Qm1EO01Fc0JuRCwwQkZ0Qm1EO1VFc0JuRCxzQkZ0Qm1EO0VNRmpELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQUC9COztBQVVEO0VHb0JBLHNERy9COEI7VUgrQjlCLDhDRy9COEI7RUNrQjVCLFdBQThCLEVQTC9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUDhDO1VITzlDLDRDR1A4QztFSE85QyxnQ0ZyQnFEO01FcUJyRCw0QkZyQnFEO1VFcUJyRCx3QkZyQnFEO0VNSG5ELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQUC9COztBQVVEO0VHb0JBLHNERzlCZ0M7VUg4QmhDLDhDRzlCZ0M7RUNpQjlCLFdBQThCLEVQTC9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUDhDO1VITzlDLDRDR1A4QztFSE85QyxpQ0ZwQnNEO01Fb0J0RCw2QkZwQnNEO1VFb0J0RCx5QkZwQnNEO0VNSnBELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQUC9COztBQVVEO0VHb0JBLHVERzdCc0M7VUg2QnRDLCtDRzdCc0M7RUNnQnBDLFdBQThCLEVQTC9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUDhDO1VITzlDLDRDR1A4QztFSE85QywrQkZuQm9EO01FbUJwRCwyQkZuQm9EO1VFbUJwRCx1QkZuQm9EO0VNTGxELGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQUC9COztBQVVEO0VHb0JBLHVERzVCb0M7VUg0QnBDLCtDRzVCb0M7RUNlbEMsV0FBOEIsRVBML0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdQOEM7VUhPOUMsNENHUDhDO0VITzlDLGlDR0VlO01IRmYsNkJHRWU7VUhGZix5QkdFZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSxzREcvQjhCO1VIK0I5Qiw4Q0cvQjhCO0VDa0I1QixXQUE4QixFUEwvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1A4QztVSE85Qyw0Q0dQOEM7RUhPOUMsaUNHRWU7TUhGZiw2QkdFZTtVSEZmLHlCR0VlO0VDMUJiLGdEQUF1QztFQUF2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RndELEU4RUd4RDs7QUFFRDtFQUNDLHVCOUVOd0QsRThFT3hEOztBQUZEO0VBS0MsdUI5RVZ3RCxFOEVXeEQ7O0FBRUQ7RUFDQyxvQjlFZHdELEU4RWV4RDs7QUFFRCxxREFBcUQ7QUFDckQ7cURBQ3FEO0FBQ3JEO0VBQ0Msb0I5RXJCd0QsRThFc0J4RDs7QUFFRDtFQUNDLHFCOUV6QndELEU4RTBCeEQ7O0FBRUQ7RUFDQyxrQjlFN0J3RCxFOEU4QnhEOztBQUVELHFEQUFxRDtBQUNyRDtxREFDcUQ7QUFDckQ7RUFDQyxvQjlFcEN3RCxFOEVxQ3hEOztBQUVEO0VBQ0Msa0I5RXhDd0QsRThFeUN4RDs7QUFFRDtFQUNDLG9COUU1Q3dELEU4RTZDeEQ7O0FBRUQ7RUFDQyxxQjlFaER3RCxFOEVpRHhEOztBQUVEO0VBQ0Msa0I5RXBEd0QsRThFcUR4RDs7QUFFRDtFQUNDLG9COUV4RHdELEU4RXlEeEQ7O0FBRUQ7RUFDQyxxQjlFNUR3RCxFOEU2RHhEOztBQUVEO0VBQ0Msb0I5RWhFd0QsRThFaUV4RDs7QUFFRDtFQUNDLGtCOUVwRXdELEU4RXFFeEQ7O0FBRUQscURBQXFEO0FBQ3JEO3FEQUNxRDtBQUNyRDtFQUNDLHNCOUUzRXdELEU4RTRFeEQ7O0FBRUQ7RUFDQyxvQjlFL0V3RCxFOEVnRnhEOztBQUVEO0VBQ0MsdUI5RW5Gd0QsRThFb0Z4RDs7QUFFRDtFQUNDLHNCOUV2RndELEU4RXdGeEQ7O0FBRUQ7RUFDQyxvQjlFM0Z3RCxFOEU0RnhEOztBQUVELHFEQUFxRDtBQUNyRDtxREFDcUQ7QUFDckQ7RUFDQyx1QjlFbEd3RCxFOEVtR3hEOztBQUVEO0VBQ0MscUI5RXRHd0QsRThFdUd4RDs7QUFFRDtFQUNDLHVCOUUxR3dELEU4RTJHeEQ7O0FBRUQ7RUFDQyxxQjlFOUd3RCxFOEUrR3hEOztBQUVEO0VBQ0MsdUI5RWxId0QsRThFbUh4RDs7QUFFRDtFQUNDLHVCOUV0SHdELEU4RXVIeEQ7O0FBRUQ7RUFDQyx3QjlFMUh3RCxFOEUySHhEOztBQUVEO0VBQ0MsdUI5RTlId0QsRThFK0h4RDs7QUFFRDtF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O01ENERFLGtDQURnSDtNRmhEOUcsd0JBQTZEO01BQTdELHVCQUE2RCxFR1RoRSxFQUFBO0VvRURIO0l4QkdFLHNCQUFxQjtJQUNyQixnQkFBZTtJQUNmLG9CbkR5RGtCO0ltRHZEbEIsMEJsRC9CYztJa0RnQ2QsaUJuRDJEZTtJbUQxRGYseUNsRGhDYTtJa0RrQ2IsZUFBYztJQUlkLHNDbkR3d0I4QyxFMkVsd0I3QztJeEJKRDtNQUVFLGlEbEQvQ1ksRWtEZ0RiO0lBRUQ7TUFDRSxpQkFBZ0IsRUFDakI7RXdCeEJIO0l4QkdFLHNCQUFxQjtJQUNyQixnQkFBZTtJQUNmLG9CbkR5RGtCO0ltRHZEbEIsMEJsRC9CYztJa0RnQ2QsaUJuRDJEZTtJbUQxRGYseUNsRGhDYTtJa0RrQ2IsZUFBYyxFd0JhYjs7QUN2REg7O0VBRUU7QUFFRixpQ0FBaUM7QUFHL0I7RUFDSSwwQjNFTFUsRTJFTWI7O0FBRUQ7RUFDSSxlM0VUVSxFMkVVYjs7QUFORDtFQUNJLDBCNUVxRWMsRTRFcEVqQjs7QUFFRDtFQUNJLGU1RWlFYyxFNEVoRWpCOztBQU5EO0VBQ0ksMEIzRVJTLEUyRVNaOztBQUVEO0VBQ0ksZTNFWlMsRTJFYVo7O0FBTkQ7RUFDSSwwQjVFd0VZLEU0RXZFZjs7QUFFRDtFQUNJLGU1RW9FWSxFNEVuRWY7O0FBTkQ7RUFDSSwwQjNFSFEsRTJFSVg7O0FBRUQ7RUFDSSxlM0VQUSxFMkVRWDs7QUFHSCxxQkFBcUI7QUFDckI7RUFRVSwwQjNFdEJNLEUyRXVCVDs7QUFUUDtFQVlVLGUzRTFCTSxFMkUyQlQ7O0FBYlA7RUFRVSwwQjVFb0RVLEU0RW5EYjs7QUFUUDtFQVlVLGU1RWdEVSxFNEUvQ2I7O0FBYlA7RUFRVSwwQjNFekJLLEUyRTBCUjs7QUFUUDtFQVlVLGUzRTdCSyxFMkU4QlI7O0FBYlA7RUFRVSwwQjVFdURRLEU0RXREWDs7QUFUUDtFQVlVLGU1RW1EUSxFNEVsRFg7O0FBYlA7RUFRVSwwQjNFcEJJLEUyRXFCUDs7QUFUUDtFQVlVLGUzRXhCSSxFMkV5QlA7O0FBYlA7RUFtQkUsaUJBQWdCLEVBQ2hC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O0lBQ25CLGVBQWMsRUFDZiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLmZmLXBvcHBpbnMge1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIEhlbHZldGljYSwgR2VvcmdpYSwgU2Fucy1zZXJpZjsgfVxuXG4uZnctbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5mdy1ub3JtYWwge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5mdy1tZWRpdW0ge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5mdy1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZnMtc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWdyZWUgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZWdyZWUgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodCBmb3IgYm9yZGVyc1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjUuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5yZXZlYWwsIC5yZXZlYWwudGlueSwgLnJldmVhbC5zbWFsbCwgLnJldmVhbC5sYXJnZSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIEhlbHZldGljYSwgR2VvcmdpYSwgU2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1jb250YWluZXIuZnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rLCAuZ3JpZC14ID4gLmxhcmdlLWZ1bGwsIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEsIC5ncmlkLXggPiAuc21hbGwtMiwgLmdyaWQteCA+IC5zbWFsbC0zLCAuZ3JpZC14ID4gLnNtYWxsLTQsIC5ncmlkLXggPiAuc21hbGwtNSwgLmdyaWQteCA+IC5zbWFsbC02LCAuZ3JpZC14ID4gLnNtYWxsLTcsIC5ncmlkLXggPiAuc21hbGwtOCwgLmdyaWQteCA+IC5zbWFsbC05LCAuZ3JpZC14ID4gLnNtYWxsLTEwLCAuZ3JpZC14ID4gLnNtYWxsLTExLCAuZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteCA+IC5tZWRpdW0tYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uc21hbGwtbWFyZ2luLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS1mdWxsLCAuZ3JpZC15ID4gLmxhcmdlLTEsIC5ncmlkLXkgPiAubGFyZ2UtMiwgLmdyaWQteSA+IC5sYXJnZS0zLCAuZ3JpZC15ID4gLmxhcmdlLTQsIC5ncmlkLXkgPiAubGFyZ2UtNSwgLmdyaWQteSA+IC5sYXJnZS02LCAuZ3JpZC15ID4gLmxhcmdlLTcsIC5ncmlkLXkgPiAubGFyZ2UtOCwgLmdyaWQteSA+IC5sYXJnZS05LCAuZ3JpZC15ID4gLmxhcmdlLTEwLCAuZ3JpZC15ID4gLmxhcmdlLTExLCAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogMjUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogNTAlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogNzUlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzLFxuaDQsIC5oNCxcbmg1LCAuaDUsXG5oNiwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBIZWx2ZXRpY2EsIEdlb3JnaWEsIFNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNkMzAwMzE7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsIC5oMSBzbWFsbCxcbiAgaDIgc21hbGwsIC5oMiBzbWFsbCxcbiAgaDMgc21hbGwsIC5oMyBzbWFsbCxcbiAgaDQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCxcbiAgaDYgc21hbGwsIC5oNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEsIC5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgzLCAuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDYsIC5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICBoMywgLmgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCwgLmg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSwgLmg1IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogI0QzQjU4MztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICNjNmEwNjA7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyLCBhYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzAwMDAwMDtcbiAgY3Vyc29yOiBoZWxwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdXRvOyB9IH1cblxuLmJ1dHRvbiwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QzQjU4MztcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24sIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjllNWQ7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi50aW55LCAud3AtYmxvY2stYnV0dG9uIC50aW55LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCwgLndwLWJsb2NrLWJ1dHRvbiAuc21hbGwud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSwgLndwLWJsb2NrLWJ1dHRvbiAubGFyZ2Uud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCwgLndwLWJsb2NrLWJ1dHRvbiAuZXhwYW5kZWQud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzQjU4MztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MxOTc1MTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYnV0dG9uLnN1Y2Nlc3MsIC53cC1ibG9jay1idXR0b24gLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkE3RTY3O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjI2NTUyO1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24uYWxlcnQsIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzMDAzMTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhOTAwMjc7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b25bZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEM0I1ODM7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnksIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLnByaW1hcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEM0I1ODM7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXS5zZWNvbmRhcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXS5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0uc3VjY2VzcyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc3VjY2VzcywgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0uc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyQTdFNjc7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXS53YXJuaW5nIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAud3AtYmxvY2stYnV0dG9uIC5kaXNhYmxlZC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmRpc2FibGVkLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuZGlzYWJsZWQuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QzMDAzMTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJ1dHRvbi5ob2xsb3csIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDNCNTgzO1xuICAgIGNvbG9yOiAjRDNCNTgzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsIC5idXR0b24uaG9sbG93W2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3dbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmhvbGxvd1tkaXNhYmxlZF06Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM3ZTYwMmQ7XG4gICAgICBjb2xvcjogIzdlNjAyZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdzpob3ZlcltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93OmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0QzQjU4MztcbiAgICAgICAgY29sb3I6ICNEM0I1ODM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0QzQjU4MztcbiAgICAgIGNvbG9yOiAjRDNCNTgzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzdlNjAyZDtcbiAgICAgICAgY29sb3I6ICM3ZTYwMmQ7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3Zlci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1c1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1c1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRDNCNTgzO1xuICAgICAgICAgIGNvbG9yOiAjRDNCNTgzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3Zlci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1c1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3MsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMkE3RTY3O1xuICAgICAgY29sb3I6ICMyQTdFNjc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTUzZjM0O1xuICAgICAgICBjb2xvcjogIzE1M2YzNDsgfVxuICAgICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXJbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyQTdFNjc7XG4gICAgICAgICAgY29sb3I6ICMyQTdFNjc7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93Lndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1c1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1c1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMzAwMzE7XG4gICAgICBjb2xvcjogI2QzMDAzMTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmhvbGxvdy5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2YTAwMTk7XG4gICAgICAgIGNvbG9yOiAjNmEwMDE5OyB9XG4gICAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5ob2xsb3cuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIC5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1c1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QzMDAzMTtcbiAgICAgICAgICBjb2xvcjogI2QzMDAzMTsgfVxuICAuYnV0dG9uLmNsZWFyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEM0I1ODM7XG4gICAgY29sb3I6ICNEM0I1ODM7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXI6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLmRpc2FibGVkOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIuZGlzYWJsZWQ6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXJbZGlzYWJsZWRdOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLmNsZWFyW2Rpc2FibGVkXTpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXI6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzdlNjAyZDtcbiAgICAgIGNvbG9yOiAjN2U2MDJkOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyOmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6aG92ZXJbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0QzQjU4MztcbiAgICAgICAgY29sb3I6ICNEM0I1ODM7IH1cbiAgICAuYnV0dG9uLmNsZWFyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhcltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXI6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhcjpob3Zlci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyOmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhcjpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyOmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXI6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnByaW1hcnksIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEM0I1ODM7XG4gICAgICBjb2xvcjogI0QzQjU4MzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzdlNjAyZDtcbiAgICAgICAgY29sb3I6ICM3ZTYwMmQ7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEM0I1ODM7XG4gICAgICAgICAgY29sb3I6ICNEM0I1ODM7IH1cbiAgICAgIC5idXR0b24uY2xlYXIucHJpbWFyeSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeS5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIucHJpbWFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5wcmltYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXMuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnByaW1hcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnByaW1hcnk6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlcltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnksIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5LmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeVtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6aG92ZXIuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlcltkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuc2Vjb25kYXJ5OmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnNlY29uZGFyeTpmb2N1cy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc2Vjb25kYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zZWNvbmRhcnk6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zZWNvbmRhcnkud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzW2Rpc2FibGVkXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3MsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyQTdFNjc7XG4gICAgICBjb2xvcjogIzJBN0U2NzsgfVxuICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1M2YzNDtcbiAgICAgICAgY29sb3I6ICMxNTNmMzQ7IH1cbiAgICAgICAgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyQTdFNjc7XG4gICAgICAgICAgY29sb3I6ICMyQTdFNjc7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuc3VjY2VzcywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy5kaXNhYmxlZC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuc3VjY2Vzc1tkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3Zlci5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci5zdWNjZXNzOmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXMuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLnN1Y2Nlc3M6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5zdWNjZXNzLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1c1tkaXNhYmxlZF0ge1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5jbGVhci53YXJuaW5nLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgICAgIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLndhcm5pbmcsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcuZGlzYWJsZWQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLmNsZWFyLndhcm5pbmdbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24uY2xlYXIud2FybmluZzpob3Zlci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIud2FybmluZzpob3ZlcltkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci53YXJuaW5nLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cy5kaXNhYmxlZCwgLmJ1dHRvbi5jbGVhci53YXJuaW5nOmZvY3VzW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uY2xlYXIuYWxlcnQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDMwMDMxO1xuICAgICAgY29sb3I6ICNkMzAwMzE7IH1cbiAgICAgIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmEwMDE5O1xuICAgICAgICBjb2xvcjogIzZhMDAxOTsgfVxuICAgICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXJbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXJbZGlzYWJsZWRdLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDMwMDMxO1xuICAgICAgICAgIGNvbG9yOiAjZDMwMDMxOyB9XG4gICAgICAuYnV0dG9uLmNsZWFyLmFsZXJ0LCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24uY2xlYXIuYWxlcnQuZGlzYWJsZWQsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmFsZXJ0LmRpc2FibGVkLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi5jbGVhci5hbGVydFtkaXNhYmxlZF0sIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sIC5idXR0b24uY2xlYXIuYWxlcnQ6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi5jbGVhci5hbGVydDpob3Zlci5kaXNhYmxlZCwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLmRpc2FibGVkLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmhvdmVyW2Rpc2FibGVkXSwgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyW2Rpc2FibGVkXSwgLmJ1dHRvbi5jbGVhci5hbGVydDpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuY2xlYXIuYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAuYnV0dG9uLmNsZWFyLmFsZXJ0OmZvY3VzLmRpc2FibGVkLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMuZGlzYWJsZWQsIC5idXR0b24uY2xlYXIuYWxlcnQ6Zm9jdXNbZGlzYWJsZWRdLCAud3AtYmxvY2stYnV0dG9uIC5jbGVhci5hbGVydC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXNbZGlzYWJsZWRdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24ud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZHJvcGRvd24ud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhcjo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNEM0I1ODM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cucHJpbWFyeTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZHJvcGRvd24ucHJpbWFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnByaW1hcnk6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5jbGVhci5wcmltYXJ5LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNEM0I1ODM7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bi5ob2xsb3cuc2Vjb25kYXJ5OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93LnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAuYnV0dG9uLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeTo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLnNlY29uZGFyeS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5ob2xsb3cuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLnN1Y2Nlc3Mud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5zdWNjZXNzOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uY2xlYXIuc3VjY2Vzcy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMkE3RTY3OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uIC5kcm9wZG93bi5ob2xsb3cud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyLCAud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLW91dGxpbmUgLmRyb3Bkb3duLndhcm5pbmcud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci53YXJuaW5nOjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uY2xlYXIud2FybmluZy53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuZHJvcGRvd24uaG9sbG93LmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSAuZHJvcGRvd24uYWxlcnQud3AtYmxvY2stYnV0dG9uX19saW5rOjphZnRlciwgLmJ1dHRvbi5kcm9wZG93bi5jbGVhci5hbGVydDo6YWZ0ZXIsIC53cC1ibG9jay1idXR0b24gLmRyb3Bkb3duLmNsZWFyLmFsZXJ0LndwLWJsb2NrLWJ1dHRvbl9fbGluazo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNkMzAwMzE7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciwgLndwLWJsb2NrLWJ1dHRvbiAuYXJyb3ctb25seS53cC1ibG9jay1idXR0b25fX2xpbms6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5hLmJ1dHRvbjpob3ZlciwgLndwLWJsb2NrLWJ1dHRvbiBhLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgYS5idXR0b246Zm9jdXMsIC53cC1ibG9jay1idXR0b24gYS53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi40Mzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjYWNhY2E7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2NhY2FjYTsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNkMzAwMzE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmU2ZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2QzMDAzMTsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZDMwMDMxOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNkMzAwMzE7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmFjY29yZGlvbltkaXNhYmxlZF0gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjRDNCNTgzOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxcmVtO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5hY2NvcmRpb24tbWVudS5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cblxuLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNEM0I1ODM7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5iYWRnZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjRDNCNTgzO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMyQTdFNjc7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZDMwMDMxO1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjY2FjYWNhOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogI0QzQjU4MzsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24sIC5idXR0b24tZ3JvdXAudGlueSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC50aW55IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zbWFsbCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zbWFsbCAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmxhcmdlIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmxhcmdlIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QzQjU4MztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAucHJpbWFyeSAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzE5NzUxO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkE3RTY3O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjY1NTI7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAud2FybmluZyAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMzAwMzE7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuYWxlcnQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLmFsZXJ0IC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E5MDAyNztcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbms6bGFzdC1jaGlsZCwgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAud3AtYmxvY2stYnV0dG9uX19saW5rOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC53cC1ibG9jay1idXR0b25fX2xpbmssIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uX19saW5rLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmNGVjO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlmMmViO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmQyZGQ7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1pbWFnZSB7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbixcbiAgLm1lbnUgLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLFxuICAud3AtYmxvY2stYnV0dG9uIC5tZW51IC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuc2ltcGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUuc2ltcGxlIGxpICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAubWVudS5zaW1wbGUgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1zaW1wbGUgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLXRvcCBhLCAubWVudS5pY29uLXJpZ2h0IGEsIC5tZW51Lmljb24tYm90dG9tIGEsIC5tZW51Lmljb24tbGVmdCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZW51Lmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tcmlnaHQgbGkgYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi1yaWdodCBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5tZW51Lmljb24tdG9wIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5pY29uLXRvcCBsaSBhIHN2ZyB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGltZyxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUgLmlzLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICNEM0I1ODM7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQ6ICNEM0I1ODM7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLm1lbnUuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodCBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1lbnUuYWxpZ24tcmlnaHQudmVydGljYWwgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZW51LmFsaWduLWNlbnRlciBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFsaWduLWNlbnRlciBsaSAuc3VibWVudSBsaSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUgLm1lbnUtdGV4dCB7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5tZW51LWNlbnRlcmVkID4gLm1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS1jZW50ZXJlZCA+IC5tZW51IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI0ZGRkZGRiwgMCAxNHB4IDAgI0ZGRkZGRjtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAwMDAsIDAgMTRweCAwICMwMDAwMDA7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0QzQjU4MztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uZHJpbGxkb3duLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI0QzQjU4MztcbiAgcmlnaHQ6IDFyZW07XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyaWxsZG93bi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRDNCNTgzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMXJlbTsgfVxuXG4uZHJpbGxkb3duIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNEM0I1ODMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI0QzQjU4MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IDVweDtcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTNweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNEM0I1ODM7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0QzQjU4MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjRDNCNTgzOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRDNCNTgzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjRDNCNTgzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNEM0I1ODM7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjRDNCNTgzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI0QzQjU4MyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNEM0I1ODM7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cbiAgLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNEM0I1ODMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNEM0I1ODM7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuICAucmVzcG9uc2l2ZS1lbWJlZCBvYmplY3QsXG4gIC5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuICAucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjRDNCNTgzO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogI0QzQjU4MztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMkE3RTY3O1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2QzMDAzMTtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICM0ODU1NjA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMzsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogIzQ4NTU2MDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEzOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHdpZHRoOiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1sZWZ0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLXJpZ2h0Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDEzcHggMCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMTNweCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDEzcHggMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1sZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1ib3R0b20ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bS5wb3NpdGlvbi10b3AsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWxlZnQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UucG9zaXRpb24tdG9wLCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNGRkZGRkY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjRDNCNTgzO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2NhY2FjYTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBhYic7IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGJiJzsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDNCNTgzOyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJBN0U2NzsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QzMDAzMTsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QzQjU4MzsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QzQjU4MztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M2OWU1ZDsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuaHRtbC5pcy1yZXZlYWwtb3BlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICNEM0I1ODM7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogYXV0bzsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNEM0I1ODM7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjZmFkNzY7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogI0QzQjU4MzsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAudGFicy10aXRsZSA+IGEge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgY29sb3I6ICNjNmEwNjA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjRDNCNTgzOyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIxMSwgMTgxLCAxMzEsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLnRpdGxlLWJhciB7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJldDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvb2x0aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwMDA7XG4gICAgYm90dG9tOiAxMDAlOyB9XG4gIC50b29sdGlwLmJvdHRvbS5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLnRvcC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDAwMDA7XG4gICAgbGVmdDogMTAwJTsgfVxuICAudG9vbHRpcC5sZWZ0LmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAudG9vbHRpcC5yaWdodC5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlOyB9XG4gIC50b29sdGlwLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnRvb2x0aXAuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlOyB9XG5cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMS41NjI1cmVtIDIuMTg3NXJlbSAwLjVyZW07XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC50b3AtYmFyIHVsIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTk1OTU5OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24sIC50b3AtYmFyIC53cC1ibG9jay1idXR0b24gaW5wdXQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC50b3AtYmFyIGlucHV0LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC50b3AtYmFyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0IHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuLmZsZXgtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC1jaGlsZC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtZ3JvdyB7XG4gIGZsZXg6IDEgMCBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLXNocmluayB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG5cbi5mbGV4LWRpci1yb3cge1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4uZmxleC1kaXItY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5tZWRpdW0tZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY2N3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogR2VuZXJhbGVzIGRlIFBsYXl1c1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5nbS1zdHlsZSBpbWcge1xuICBtYXgtd2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuXG4jbWFwYS0wMSB7XG4gIC8qaGVpZ2h0OiAxMDAlOyovIH1cblxuLmdtLW1hcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MDBweDsgfVxuXG4ubWVkaW8tYXJyaWJhIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuXG4udW5vLWFycmliYSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG5cbi5kb3MtYXJyaWJhIHtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxuLnRyZXMtYXJyaWJhIHtcbiAgcGFkZGluZy10b3A6IDNyZW07IH1cblxuLmN1YXRyby1hcnJpYmEge1xuICBwYWRkaW5nLXRvcDogNHJlbTsgfVxuXG4uY2luY28tYXJyaWJhIHtcbiAgcGFkZGluZy10b3A6IDVyZW07IH1cblxuLnNlaXMtYXJyaWJhIHtcbiAgcGFkZGluZy10b3A6IDZyZW07IH1cblxuLnNpZXRlLWFycmliYSB7XG4gIHBhZGRpbmctdG9wOiA3cmVtOyB9XG5cbi5vY2hvLWFycmliYSB7XG4gIHBhZGRpbmctdG9wOiA4cmVtOyB9XG5cbi5tZWRpby1hYmFqbyB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07IH1cblxuLnVuby1hYmFqbyB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG5cbi5kb3MtYWJham8ge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuXG4udHJlcy1hYmFqbyB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG5cbi5jdWF0cm8tYWJham8ge1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuXG4uY2luY28tYWJham8ge1xuICBwYWRkaW5nLWJvdHRvbTogNXJlbTsgfVxuXG4uc2Vpcy1hYmFqbyB7XG4gIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9XG5cbi5tZWRpby1kZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07IH1cblxuLnVuby1kZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi5kb3MtZGVyIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbTsgfVxuXG4udHJlcy1kZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtOyB9XG5cbi5jdWF0cm8tZGVyIHtcbiAgcGFkZGluZy1yaWdodDogNHJlbTsgfVxuXG4uY2luY28tZGVyIHtcbiAgcGFkZGluZy1yaWdodDogNXJlbTsgfVxuXG4uc2Vpcy1kZXIge1xuICBwYWRkaW5nLXJpZ2h0OiA2cmVtOyB9XG5cbi5tZWRpby1penEge1xuICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuXG4udW5vLWl6cSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuXG4uZG9zLWl6cSB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTsgfVxuXG4udHJlcy1penEge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmN1YXRyby1penEge1xuICBwYWRkaW5nLWxlZnQ6IDRyZW07IH1cblxuLmNpbmNvLWl6cSB7XG4gIHBhZGRpbmctbGVmdDogNXJlbTsgfVxuXG4uc2Vpcy1penEge1xuICBwYWRkaW5nLWxlZnQ6IDZyZW07IH1cblxuLm5vLW1hcmdpbiB7XG4gIG1hcmdpbjogMHB4OyB9XG5cbi5wLW5vLW1hcmdpbiB7XG4gIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4ubWFyZ2luLWF1dG8ge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ubWFyZ2luLW1lZGlvLWFycmliYSB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG4ubWFyZ2luLXVuby1hcnJpYmEge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbi5tYXJnaW4tZG9zLWFycmliYSB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLm1hcmdpbi10cmVzLWFycmliYSB7XG4gIG1hcmdpbi10b3A6IDNyZW07IH1cblxuLm1hcmdpbi1jdWF0cm8tYXJyaWJhIHtcbiAgbWFyZ2luLXRvcDogNHJlbTsgfVxuXG4ubWFyZ2luLW1lZGlvLWFiYWpvIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5tYXJnaW4tdW5vLWFiYWpvIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4ubWFyZ2luLWRvcy1hYmFqbyB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLm1hcmdpbi10cmVzLWFiYWpvIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXG4ubWFyZ2luLWN1YXRyby1hYmFqbyB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07IH1cblxuLnVuby1kZXItbSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4uZG9zLWRlci1tIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG5cbi51bm8taXpxLW0ge1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uZG9zLWl6cS1tIHtcbiAgbWFyZ2luLWxlZnQ6IDJyZW07IH1cblxuLmltZy0xMDAge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ub3ZlcmZsb3cge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlubGluZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuXG4uei1pbmRleDEwIHtcbiAgei1pbmRleDogMTA7IH1cblxuLyovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8qL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1hcmdpbiBUb3Bcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubS10LTgge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cblxuLm0tdC0xNiB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLm0tdC0yMCB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLm0tdC0yNCB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuXG4ubS10LTI4IHtcbiAgbWFyZ2luLXRvcDogMS43NXJlbTsgfVxuXG4ubS10LTMyIHtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG4ubS10LTQwIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG5cbi5tLXQtNDgge1xuICBtYXJnaW4tdG9wOiAzcmVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXJnaW4gUmlnaHRcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubS1yLTgge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4ubS1yLTEyIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5tLXItMTYge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1hcmdpbiBCb3R0b21cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubS1iLTAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5tLWItOCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4ubS1iLTEzIHtcbiAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtOyB9XG5cbi5tLWItMTYge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5tLWItMjAge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5tLWItMjQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuLm0tYi0yOCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH1cblxuLm0tYi0zMiB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuLm0tYi00MCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4ubS1iLTQ4IHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuXG4ubS1iLTYwIHtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuXG4ubS1iLTYwIHtcbiAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuXG4ubS1iLTk2IHtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWFyZ2luIExlZnRcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubS1sLTgge1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5tLWwtMTIge1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTsgfVxuXG4ubS1sLTE2IHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhZGRpbmcgVG9wXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnAtdC04IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuXG4ucC10LTE2IHtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cblxuLnAtdC0yNCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cblxuLnAtdC0yOCB7XG4gIHBhZGRpbmctdG9wOiAxLjc1cmVtOyB9XG5cbi5wLXQtMzIge1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuXG4ucC10LTQwIHtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuXG4ucC10LTYwIHtcbiAgcGFkZGluZy10b3A6IDMuNzVyZW07IH1cblxuLnAtdC03MiB7XG4gIHBhZGRpbmctdG9wOiA0LjVyZW07IH1cblxuLnAtdC04MCB7XG4gIHBhZGRpbmctdG9wOiA1cmVtOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWRkaW5nIFJpZ2h0XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnAtci04IHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtOyB9XG5cbi5wLXItMTYge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG5cbi5wLXItMjAge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG5cbi5wLXItMjQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cblxuLnAtci0zMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhZGRpbmcgQm90dG9tXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnAtYi04IHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfVxuXG4ucC1iLTE2IHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cblxuLnAtYi0yNCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cblxuLnAtYi0zMiB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG5cbi5wLWItNDAge1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9XG5cbi5wLWItNTYge1xuICBwYWRkaW5nLWJvdHRvbTogMy41cmVtOyB9XG5cbi5wLWItNjAge1xuICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfVxuXG4ucC1iLTcyIHtcbiAgcGFkZGluZy1ib3R0b206IDQuNXJlbTsgfVxuXG4ucC1iLTk2IHtcbiAgcGFkZGluZy1ib3R0b206IDZyZW07IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhZGRpbmcgTGVmdFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wLWwtOCB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG5cbi5wLWwtMTYge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cblxuLnAtbC0yMCB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuXG4ucC1sLTI0IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07IH1cblxuLnAtbC0zMiB7XG4gIHBhZGRpbmctbGVmdDogMnJlbTsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNQUlOIEdGT1JNU1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5nZm9ybV93cmFwcGVyIHNlbGVjdCwgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9wcm9ncmVzc2JhcjphZnRlciwgLmdmb3JtX3dyYXBwZXIgb2wudmFsaWRhdGlvbl9saXN0OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG4gIG1hcmdpbjogMTZweCAwO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgZm9ybSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdmb3JtX3dyYXBwZXIgKiwgLmdmb3JtX3dyYXBwZXIgOmFmdGVyLCAuZ2Zvcm1fd3JhcHBlciA6YmVmb3JlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIGgxLCAuZ2Zvcm1fd3JhcHBlciBoMiwgLmdmb3JtX3dyYXBwZXIgaDMge1xuICBmb250LXdlaWdodDogNDAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IDAgMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT0nZmlsZSddKSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDVweCA0cHg7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXRbdHlwZT1pbWFnZV0ge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIHRleHRhcmVhIHtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcmVzaXplOiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIHNlbGVjdCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgb3V0bGluZTogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bCwgaHRtbCA+IGJvZHkgLmVudHJ5IHVsIHtcbiAgdGV4dC1pbmRlbnQ6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgZm9ybSBsaSwgLmdmb3JtX3dyYXBwZXIgbGkge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi5nZm9ybV93cmFwcGVyIHVsIGxpLmdmaWVsZCB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBmb3JtIHVsLmdmb3JtX2ZpZWxkcy5sZWZ0X2xhYmVsIGxpLmdmaWVsZCwgLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5nZm9ybV9maWVsZHMucmlnaHRfbGFiZWwgbGkuZ2ZpZWxkLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMubGVmdF9sYWJlbCBsaS5nZmllbGQsIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcy5yaWdodF9sYWJlbCBsaS5nZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIGZvcm0gdWwubGVmdF9sYWJlbCBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGksIC5nZm9ybV93cmFwcGVyIGZvcm0gdWwubGVmdF9sYWJlbCBsaSB1bC5nZmllbGRfcmFkaW8gbGksIC5nZm9ybV93cmFwcGVyIGZvcm0gdWwucmlnaHRfbGFiZWwgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLCAuZ2Zvcm1fd3JhcHBlciBmb3JtIHVsLnJpZ2h0X2xhYmVsIGxpIHVsLmdmaWVsZF9yYWRpbyBsaSwgLmdmb3JtX3dyYXBwZXIgdWwubGVmdF9sYWJlbCBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGksIC5nZm9ybV93cmFwcGVyIHVsLmxlZnRfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpLCAuZ2Zvcm1fd3JhcHBlciB1bC5yaWdodF9sYWJlbCBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGksIC5nZm9ybV93cmFwcGVyIHVsLnJpZ2h0X2xhYmVsIGxpIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgdWwgbGk6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyIHVsIGxpOmJlZm9yZSwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBzZWxlY3Qgb3B0aW9uIHtcbiAgcGFkZGluZzogMnB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2hlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMThweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2xlYXItbXVsdGkge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9kYXksIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV95ZWFyIHtcbiAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfZGF5LCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfbW9udGgsIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV95ZWFyIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfZHJvcGRvd25fZGF5LCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfZHJvcGRvd25fbW9udGgsIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9kcm9wZG93bl95ZWFyIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfZGF5LCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfbW9udGgge1xuICB3aWR0aDogNHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfZGF5IGlucHV0W3R5cGU9bnVtYmVyXSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX21vbnRoIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIHdpZHRoOiBjYWxjKDNyZW0gKyA4cHgpICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX3llYXIgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgd2lkdGg6IGNhbGMoNHJlbSArIDhweCkgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfeWVhciB7XG4gIHdpZHRoOiA1cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9kYXkgaW5wdXQsIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9tb250aCBpbnB1dCB7XG4gIHdpZHRoOiBjYWxjKDNyZW0gKyA4cHgpOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV95ZWFyIGlucHV0IHtcbiAgd2lkdGg6IDRyZW07IH1cblxuLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIGRpdltjbGFzcyo9Z2ZpZWxkX2RhdGVfXS5naW5wdXRfY29udGFpbmVyIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2W2NsYXNzKj1nZmllbGRfZGF0ZV9dLmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICB3aWR0aDogM3JlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9hYm92ZSBkaXYuZ2ZpZWxkX2RhdGVfeWVhci5naW5wdXRfY29udGFpbmVyIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2LmdmaWVsZF9kYXRlX3llYXIuZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gIHdpZHRoOiA0cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9hbXBtLCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfaG91ciwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX21pbnV0ZSB7XG4gIHdpZHRoOiAzMy4zMzMlO1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIxcHgpIHtcbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX2RheSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX21vbnRoIHtcbiAgICBtYXgtd2lkdGg6IDRyZW07IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX3llYXIsIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9hbXBtIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNHJlbSArIC41cmVtKTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfaG91ciwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX21pbnV0ZSB7XG4gICAgbWF4LXdpZHRoOiA0cmVtOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9hbXBtLCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfaG91ciB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDRyZW0gKyAuNXJlbSk7IH0gfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIC5naW5wdXRfY29udGFpbmVyX3RpbWUgc3BhbiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyIGkge1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiA5JTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfbWludXRlIHtcbiAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfaG91ciB7XG4gIG1hcmdpbi1yaWdodDogLjI1cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9hbXBtIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3Qge1xuICBtaW4td2lkdGg6IGNhbGMoMnJlbSArIDI1cHgpO1xuICB3aWR0aDogY2FsYygzcmVtICsgMjVweCk7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2FtcG1fc2hpbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IC44MTNlbTtcbiAgbWFyZ2luOiA5cHggMCAxcHggMXB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyIGlucHV0LCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfbWludXRlIGlucHV0IHtcbiAgd2lkdGg6IGNhbGMoM3JlbSArIDhweCk7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2hvdXIgaW5wdXRbdHlwZT1udW1iZXJdLCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfbWludXRlIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIHdpZHRoOiBjYWxjKDNyZW0gKyA4cHgpICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIGRpdltjbGFzcyo9Z2ZpZWxkX3RpbWVfXS5naW5wdXRfY29udGFpbmVyIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2W2NsYXNzKj1nZmllbGRfdGltZV9dLmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICB3aWR0aDogM3JlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5maWVsZF9ob3ZlciB7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjMjE3NUE5O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3NlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGRUZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0MyRDdFRjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfbmFtZV9maXJzdCwgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX25hbWVfbGFzdCwgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX25hbWVfbWlkZGxlIHtcbiAgd2lkdGg6IDQ5LjUlO1xuICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5nZm9ybV93cmFwcGVyIGxhYmVsLmdmaWVsZF9sYWJlbCwgLmdmb3JtX3dyYXBwZXIgbGVnZW5kLmdmaWVsZF9sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIC5nZmllbGRfbGFiZWwsIC5nZm9ybV93cmFwcGVyIGxlZ2VuZC5nZmllbGRfbGFiZWwge1xuICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBjbGVhcjogYm90aDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIC5nZmllbGRfaGlkZV9sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pLCAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pLCAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pLCAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYWJvdmUgZGl2W2NsYXNzKj1nZmllbGRfZGF0ZV9dLmdpbnB1dF9jb250YWluZXIgbGFiZWwsIC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9hYm92ZSBkaXZbY2xhc3MqPWdmaWVsZF90aW1lX10uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2JlbG93IC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2W2NsYXNzKj1nZmllbGRfZGF0ZV9dLmdpbnB1dF9jb250YWluZXIgbGFiZWwsIC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyBkaXZbY2xhc3MqPWdmaWVsZF90aW1lX10uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IC44MTNlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC41cHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9hYm92ZSAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIGRpdltjbGFzcyo9Z2ZpZWxkX3RpbWVfXS5naW5wdXRfY29udGFpbmVyIGxhYmVsIHtcbiAgbWFyZ2luOiA5cHggMCAxcHggMXB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfZW1haWwgbGFiZWwsIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfbmFtZSBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9wYXNzd29yZCBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl90aW1lIGxhYmVsIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIgbGFiZWwsIC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyBkaXZbY2xhc3MqPWdmaWVsZF90aW1lX10uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gIG1hcmdpbjogMXB4IDAgOXB4IDFweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIC5maWVsZF9zdWJsYWJlbF9hYm92ZSBsYWJlbC5nZmllbGRfbGFiZWwgKyAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZmllbGRfc3VibGFiZWxfYWJvdmUgbGFiZWwuZ2ZpZWxkX2xhYmVsICsgZGl2W2NsYXNzKj1nZmllbGRfdGltZV9dLmdpbnB1dF9jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDhweDsgfVxuXG5ib2R5Lmdmb3JtX3dyYXBwZXIgZGl2LmNsZWFyLW11bHRpIHtcbiAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIHVsIGxpLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGRpdi5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94LCBib2R5IC5nZm9ybV93cmFwcGVyIHVsIGxpLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGRpdi5naW5wdXRfY29udGFpbmVyX3JhZGlvIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuaGlkZGVuX2xhYmVsIC5nZmllbGRfbGFiZWwge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZ2ZpZWxkLmxlZnRfbGFiZWwsIC5nZmllbGQucmlnaHRfbGFiZWwge1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5oaWRkZW5fbGFiZWwgaW5wdXQge1xuICBtYXJnaW4tdG9wOiAxMnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9oaWRkZW5fbGFiZWwgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT10ZXh0XSwgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2hpZGRlbl9sYWJlbCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBzZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5zY3JlZW4tcmVhZGVyLXRleHQsIC5nZm9ybV93cmFwcGVyIGxhYmVsLmhpZGRlbl9zdWJfbGFiZWwge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXQubGFyZ2UsIC5nZm9ybV93cmFwcGVyIGlucHV0Lm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgaW5wdXQuc21hbGwsIC5nZm9ybV93cmFwcGVyIHNlbGVjdC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgc2VsZWN0Lm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgc2VsZWN0LnNtYWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGF0ZXBpY2tlcl93aXRoX2ljb24ubGFyZ2UsIC5nZm9ybV93cmFwcGVyIGlucHV0LmRhdGVwaWNrZXJfd2l0aF9pY29uLm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGF0ZXBpY2tlcl93aXRoX2ljb24uc21hbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjRweCk7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgaW5wdXQuc21hbGwsIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3Igc2VsZWN0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIHNlbGVjdC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3Igc2VsZWN0LnNtYWxsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgaW5wdXQuZGF0ZXBpY2tlcl93aXRoX2ljb24uc21hbGwge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzJweCk7IH1cblxuLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEuc21hbGwge1xuICBoZWlnaHQ6IDgwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5nZm9ybV93cmFwcGVyIHRleHRhcmVhLm1lZGl1bSB7XG4gIGhlaWdodDogMTIwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5nZm9ybV93cmFwcGVyIHRleHRhcmVhLmxhcmdlIHtcbiAgaGVpZ2h0OiAxNjBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdzZWN0aW9uIC5nZmllbGRfbGFiZWwsIC5nZm9ybV93cmFwcGVyIGgyLmdzZWN0aW9uX3RpdGxlLCAuZ2Zvcm1fd3JhcHBlciBoMy5nZm9ybV90aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNWVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIGgzLmdmb3JtX3RpdGxlIHtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDEwcHggMCA2cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93ICsgbGkuZ3NlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAyNHB4ICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgc3Bhbi5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdzZWN0aW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0M7XG4gIHBhZGRpbmc6IDAgMTZweCA4cHggMDtcbiAgbWFyZ2luOiAyOHB4IDA7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3gsIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9yYWRpbyB7XG4gIG1hcmdpbjogNnB4IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCB7XG4gIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXNpemU6IC44NzVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWF4LXdpZHRoOiA4NSU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fbGVmdCBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fcmlnaHQgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGRpdi5jaGFybGVmdCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuICBtYXJnaW46IDJweCAwIDAgNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXQsIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF0sIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogMXB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5kZXNjcmlwdGlvbiwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kZXNjcmlwdGlvbiwgLmdmb3JtX3dyYXBwZXIgLmdzZWN0aW9uX2Rlc2NyaXB0aW9uLCAuZ2Zvcm1fd3JhcHBlciAuaW5zdHJ1Y3Rpb24ge1xuICBmb250LXNpemU6IC44MTNlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZGVzY3JpcHRpb24sIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGVzY3JpcHRpb24sIC5nZm9ybV93cmFwcGVyIC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmc6IDAgMTZweCAwIDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMTZweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYWJvdmUgLmRlc2NyaXB0aW9uLCAuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdmaWVsZF9kZXNjcmlwdGlvbiwgLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDlweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiA5cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5kZXNjcmlwdGlvbl9hYm92ZSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cblxuLmdmaWVsZF9kYXRlX3llYXIgKyAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgLmdmaWVsZF9jb25zZW50X2Rlc2NyaXB0aW9uLCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NvbnNlbnRfZGVzY3JpcHRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMjQwcHg7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgbWFyZ2luLXRvcDogMTJweDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgZm9udC1zaXplOiAuNjg4ZW07IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yZXF1aXJlZCB7XG4gIGNvbG9yOiAjNzkwMDAwO1xuICBtYXJnaW4tbGVmdDogNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IsIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkLmdmaWVsZF9jcmVkaXRjYXJkX3dhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjIzLCAyMjQsIDAuMjUpO1xuICBtYXJnaW4tYm90dG9tOiA2cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDODk3OTc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzg5Nzk3O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIHtcbiAgcGFkZGluZzogMTZweCAxNnB4IDE0cHg7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjNzkwMDAwO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzc5MDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDIyMywgMjI0LCAwLjI1KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpOyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyB7XG4gIHBhZGRpbmc6IDE2cHggMTZweCAxNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIGRpdi5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nX21lc3NhZ2Uge1xuICBmb250LXNpemU6IC44NzVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIG1pbi1oZWlnaHQ6IDI1cHg7XG4gIGNvbG9yOiAjNzkwMDAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyBkaXYuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZ19tZXNzYWdlIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAwIDE0cHggMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGV0dGVyLXNwYWNpbmc6IC4xcHQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzkwMDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejROQ2p3aExTMGdSMlZ1WlhKaGRHOXlPaUJCWkc5aVpTQkpiR3gxYzNSeVlYUnZjaUF4T1M0eExqQXNJRk5XUnlCRmVIQnZjblFnVUd4MVp5MUpiaUF1SUZOV1J5QldaWEp6YVc5dU9pQTJMakF3SUVKMWFXeGtJREFwSUNBdExUNE5DandoUkU5RFZGbFFSU0J6ZG1jZ1VGVkNURWxESUNJdEx5OVhNME12TDBSVVJDQlRWa2NnTVM0eEx5OUZUaUlnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9hV056TDFOV1J5OHhMakV2UkZSRUwzTjJaekV4TG1SMFpDSStEUW84YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlreGhlV1Z5WHpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhnOUlqQndlQ0lnZVQwaU1IQjRJZzBLQ1NCMmFXVjNRbTk0UFNJdE1UQTJOeUF5T0RZMUlESTBJRE15SWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lDMHhNRFkzSURJNE5qVWdNalFnTXpJN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajROQ2p4emRIbHNaU0IwZVhCbFBTSjBaWGgwTDJOemN5SStEUW9KTG5OME1IdG1hV3hzT2lNM09UQXdNREE3ZlEwS1BDOXpkSGxzWlQ0TkNqeHdZWFJvSUdOc1lYTnpQU0p6ZERBaUlHUTlJazB0TVRBMU15d3lPRFkxWXkwMUxqVXNNQzB4TUN3MExqVXRNVEFzTVRCb05HTXdMVE11TXl3eUxqY3ROaXcyTFRaak15NHpMREFzTml3eUxqY3NOaXcyZGpKb0xUSXdkakUwWXpBc015NHpMREl1Tnl3MkxEWXNObWd4TWcwS0NXTXpMak1zTUN3MkxUSXVOeXcyTFRaMkxURTJReTB4TURRekxESTROamt1TlMweE1EUTNMalVzTWpnMk5TMHhNRFV6TERJNE5qVjZJRTB0TVRBME9Td3lPRGt6YUMweE1tTXRNUzR4TERBdE1pMHdMamt0TWkweWRpMHhNR2d4Tm5ZeE1BMEtDVU10TVRBME55d3lPRGt5TGpFdE1UQTBOeTQ1TERJNE9UTXRNVEEwT1N3eU9Ea3plaUJOTFRFd05UTXNNamc0TjJNd0xERXVNUzB3TGprc01pMHlMREp6TFRJdE1DNDVMVEl0TW1Nd0xURXVNU3d3TGprdE1pd3lMVEpUTFRFd05UTXNNamc0TlM0NUxURXdOVE1zTWpnNE4zb2lMejROQ2p3dmMzWm5QZzBLKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIGRpdi5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nX21lc3NhZ2Uge1xuICBwYWRkaW5nOiAxNnB4IDE2cHggMTRweDsgfVxuXG5saS5nZmllbGQgKyBsaS5nZmllbGQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyB7XG4gIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIC5nZmllbGRfZXJyb3Ige1xuICB3aWR0aDogY2FsYygxMDAlIC0gMnB4KTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIC5nZmllbGRfZXJyb3IgaW5wdXQubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9lcnJvciBzZWxlY3QubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9lcnJvciB0ZXh0YXJlYS50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5nZmllbGRfZXJyb3IgaW5wdXQubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5nZmllbGRfZXJyb3Igc2VsZWN0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCAuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhLnRleHRhcmVhLCAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgLmdmaWVsZF9lcnJvciBpbnB1dC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5nZmllbGRfZXJyb3Igc2VsZWN0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgLmdmaWVsZF9lcnJvciB0ZXh0YXJlYS50ZXh0YXJlYSB7XG4gIHdpZHRoOiA3MCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2ZpZWxkX2xhYmVsIHtcbiAgY29sb3I6ICM3OTAwMDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGRpdi5nZmllbGRfdGltZV9hbXBtLmdpbnB1dF9jb250YWluZXIsIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGRpdi5nZmllbGRfdGltZV9taW51dGUuZ2lucHV0X2NvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGRpdi5nZmllbGRfZGVzY3JpcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZGl2LmdpbnB1dF9jb250YWluZXIsIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDEycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZmllbGRzZXQgbGVnZW5kLmdmaWVsZF9sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIGRpdi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgY29sb3I6ICM3OTAwMDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzc5MDAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3OTAwMDA7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmdmb3JtX3dyYXBwZXIgb2wudmFsaWRhdGlvbl9saXN0IHtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBjb2xvcjogIzc5MDAwMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBvbC52YWxpZGF0aW9uX2xpc3QgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBvbC52YWxpZGF0aW9uX2xpc3QgbGkgYSB7XG4gIGNvbG9yOiAjNzkwMDAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIGRpdiNlcnJvciB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGJvZHkgdHIgdGQuZ2ZpZWxkX2xpc3RfaWNvbnMge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgZmllbGRzZXQgPiAqIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkIGZpZWxkc2V0IGxlZ2VuZC5nZmllbGRfbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDMycHg7IH1cblxuZGl2LmdmX3BhZ2Vfc3RlcHMgKyBkaXYudmFsaWRhdGlvbl9lcnJvciB7XG4gIG1hcmdpbi10b3A6IDE2cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgZGl2LmdmaWVsZF9kZXNjcmlwdGlvbi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgY29sb3I6ICM3OTAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBjb2xvcjogIzc5MDAwMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGRfZXJyb3IgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9J2ZpbGUnXSksIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZF9lcnJvciB0ZXh0YXJlYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3OTAwMDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGRfZXJyb3IgdWwuZ2ZpZWxkX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGRfZXJyb3IgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgY29sb3I6ICM3OTAwMDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG4gIHBhZGRpbmc6IDE2cHggMCAxMHB4O1xuICBtYXJnaW46IDE2cHggMCAwO1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLndwLWJsb2NrLWJ1dHRvbiBpbnB1dC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC53cC1ibG9jay1idXR0b25fX2xpbmssIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXQuYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLndwLWJsb2NrLWJ1dHRvbiBpbnB1dC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIGlucHV0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgMTZweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGEuZ2Zvcm1fc2F2ZV9saW5rLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgYS5nZm9ybV9zYXZlX2xpbmsge1xuICBmb250LXNpemU6IDFlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9aW1hZ2VdIHtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogMCAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0byAxNnB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQge1xuICBtaW4taGVpZ2h0OiA0NXB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCBpbnB1dFt0eXBlPWVtYWlsXSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0W3R5cGU9bnVtYmVyXSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0W3R5cGU9cGFzc3dvcmRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT10ZWxdLCAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT10ZXh0XSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0W3R5cGU9dXJsXSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIHNlbGVjdCwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCBpbnB1dFt0eXBlPWVtYWlsXSwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCBpbnB1dFt0eXBlPW51bWJlcl0sIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT1wYXNzd29yZF0sIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT10ZWxdLCAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0W3R5cGU9dGV4dF0sIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT11cmxdIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4uZ2Nob2ljZV9zZWxlY3RfYWxsLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dC5kYXRlcGlja2VyLmRhdGVwaWNrZXJfd2l0aF9pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZfaGlkZGVuLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1faGlkZGVuLCAuZ2Zvcm1fd3JhcHBlciBpbnB1dC5nZm9ybV9oaWRkZW4sIC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9aGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX2ludmlzaWJsZSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF92aXNpYmlsaXR5X2hpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfZnVsbCBiciwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9sZWZ0IGJyLCAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X3JpZ2h0IGJyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dCArIGlucHV0IHtcbiAgbWFyZ2luLWxlZnQ6IDRweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdmFsdWU9Z2Zfb3RoZXJfY2hvaWNlXSB7XG4gIG1hcmdpbi1yaWdodDogNnB4O1xuICBtYXJnaW4tdG9wOiA0cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kZXNjcmlwdGlvbiArIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGVzY3JpcHRpb24udmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogNnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9saXN0ICsgLmdmaWVsZF9kZXNjcmlwdGlvbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZF9odG1sIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfaHRtbC5nZmllbGRfbm9fZm9sbG93c19kZXNjIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIHVsIGxpLmdmaWVsZC5nZmllbGRfaHRtbCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYWpheF9zcGlubmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbi5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyLCBib2R5IC5nZm9ybV93cmFwcGVyIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIsIGJvZHkgLmdmb3JtX3dyYXBwZXIgbGkuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIsIGJvZHkgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IC05MDAwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jYXB0Y2hhX2lucHV0X2NvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAzcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLnNpbXBsZV9jYXB0Y2hhX3NtYWxsIGlucHV0IHtcbiAgd2lkdGg6IDY0cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLnNpbXBsZV9jYXB0Y2hhX21lZGl1bSBpbnB1dCB7XG4gIHdpZHRoOiA5NnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5zaW1wbGVfY2FwdGNoYV9sYXJnZSBpbnB1dCB7XG4gIHdpZHRoOiAxMjhweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCAuc2ltcGxlX2NhcHRjaGFfc21hbGwsIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5zaW1wbGVfY2FwdGNoYV9sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgLnNpbXBsZV9jYXB0Y2hhX21lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5zaW1wbGVfY2FwdGNoYV9sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5zaW1wbGVfY2FwdGNoYV9tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCAuc2ltcGxlX2NhcHRjaGFfc21hbGwge1xuICBtYXJnaW4tbGVmdDogMzIlOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2FwdGNoYV9jb250YWluZXIgaW1nLmdmaWVsZF9jYXB0Y2hhIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IDAgMCAhaW1wb3J0YW50O1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5tYXRoX2xhcmdlLCAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCAubWF0aF9tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5tYXRoX3NtYWxsLCAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCBkaXYuY2hhcmxlZnQsIC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCAubWF0aF9sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5tYXRoX21lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5tYXRoX3NtYWxsLCAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgZGl2LmNoYXJsZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDMyJTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAubWF0aF9zbWFsbCBpbnB1dCB7XG4gIHdpZHRoOiA3MHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5tYXRoX21lZGl1bSBpbnB1dCB7XG4gIHdpZHRoOiA1MTBweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAubWF0aF9sYXJnZSBpbnB1dCB7XG4gIHdpZHRoOiA2MTJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBkaXYuY2hhcmxlZnQge1xuICBmb250LXNpemU6IC42ODhlbTtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBjb2xvcjogIzc2NzY3NjtcbiAgd2lkdGg6IDkyJSAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIGRpdi5jaGFybGVmdFtzdHlsZV0ge1xuICB3aWR0aDogOTIlICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgZGl2LmNoYXJsZWZ0LmdpbnB1dF9jb3VudGVyX3RpbnltY2Uge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gIHBhZGRpbmc6IDRweCA5cHg7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgZGl2LmNoYXJsZWZ0Lndhcm5pbmdUZXh0YXJlYUluZm8ge1xuICBjb2xvcjogIzc2NzY3NjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBkaXYuY2hhcmxlZnQuZ2lucHV0X2NvdW50ZXJfZXJyb3Ige1xuICBjb2xvcjogcmVkOyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmX2hpZGVfY2hhcmxlZnQgZGl2LmNoYXJsZWZ0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5nZl9zdWJtaXNzaW9uX2xpbWl0X21lc3NhZ2Uge1xuICBjb2xvcjogIzc5MDAwMDtcbiAgZm9udC1zaXplOiAxLjM3NWVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfcHJpY2Uge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NzApO1xuICAtbW96LW9wYWNpdHk6IC43O1xuICAta2h0bWwtb3BhY2l0eTogLjc7XG4gIG9wYWNpdHk6IC43OyB9XG5cbi5nZm9ybV93cmFwcGVyIHNwYW4uZ2lucHV0X3RvdGFsIHtcbiAgY29sb3I6ICMwNjA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIHNwYW4uZ2lucHV0X3RvdGFsIHtcbiAgbWFyZ2luOiA4cHggMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBzcGFuLmdpbnB1dF9wcm9kdWN0X3ByaWNlX2xhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgc3Bhbi5naW5wdXRfcHJvZHVjdF9wcmljZSB7XG4gIGNvbG9yOiAjOTAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIHNwYW4uZ2lucHV0X3F1YW50aXR5X2xhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIGlucHV0LmdpbnB1dF9xdWFudGl0eVt0eXBlPXRleHRdIHtcbiAgd2lkdGg6IDNyZW07IH1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXQuZ2lucHV0X3F1YW50aXR5W3R5cGU9bnVtYmVyXSB7XG4gIHdpZHRoOiA0cmVtOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciB7XG4gIG1hcmdpbjogMTRweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCAjQ0NDO1xuICBwYWRkaW5nOiAxNnB4IDAgMDtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyLmxlZnRfbGFiZWwsIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3Rlci5yaWdodF9sYWJlbCB7XG4gIHBhZGRpbmc6IDE2cHggMCAwIDI5JTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC53cC1ibG9jay1idXR0b24gLmdmb3JtX25leHRfYnV0dG9uLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX25leHRfYnV0dG9uLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLndwLWJsb2NrLWJ1dHRvbiAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24ud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9wcm9ncmVzc2Jhcl93cmFwcGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCAxNnB4O1xuICBwYWRkaW5nOiAwIDAgMTZweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZfcHJvZ3Jlc3NiYXJfd3JhcHBlciBoMy5nZl9wcm9ncmVzc2Jhcl90aXRsZSB7XG4gIGZvbnQtc2l6ZTogLjgxM2VtO1xuICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCA4cHggMTJweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGNsZWFyOiBib3RoO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjApO1xuICAtbW96LW9wYWNpdHk6IC42O1xuICAta2h0bWwtb3BhY2l0eTogLjY7XG4gIG9wYWNpdHk6IC42OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9wcm9ncmVzc2JhciB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMjVweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9wcm9ncmVzc2Jhcl9wZXJjZW50YWdlIHtcbiAgaGVpZ2h0OiAyNHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1mYW1pbHk6IGhlbHZldGljYSxhcmlhbCxzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuODEzZW0gIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHotaW5kZXg6IDk5OTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgMCkgMTBweCwgcmdiYSgwLCAwLCAwLCAwLjEpIDEwcHgsIHJnYmEoMCwgMCwgMCwgMC4xKSAyMHB4KSwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAwLjMpKTtcbiAgYm9yZGVyLXJhZGl1czogMjBweCA0cHggNHB4IDIwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3Byb2dyZXNzYmFyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTA7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXRvcDogLTI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3Byb2dyZXNzYmFyX3BlcmNlbnRhZ2UucGVyY2VudGJhcl8xMDAge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3Byb2dyZXNzYmFyX3BlcmNlbnRhZ2Ugc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZfcHJvZ3Jlc3NiYXJfcGVyY2VudGFnZS5wZXJjZW50YmFyXzAgc3BhbiB7XG4gIGNvbG9yOiAjOTU5NTk1O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5wZXJjZW50YmFyX2JsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM2NDkzO1xuICBjb2xvcjogI0ZGRjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAucGVyY2VudGJhcl9ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzdDN0M3QztcbiAgY29sb3I6ICNGRkY7IH1cblxuLmdmb3JtX3dyYXBwZXIgLnBlcmNlbnRiYXJfZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODhCODMxO1xuICBjb2xvcjogI0ZGRjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAucGVyY2VudGJhcl9vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3MTIwO1xuICBjb2xvcjogI0ZGRjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAucGVyY2VudGJhcl9yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYyQTFBO1xuICBjb2xvcjogI0ZGRjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZfcGFnZV9zdGVwcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIHBhZGRpbmc6IDAgMCA0cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI0NDQzsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zfc3RlcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDI0cHggMjRweCAyNHB4IDA7XG4gIGZvbnQtc2l6ZTogLjg3NWVtO1xuICBoZWlnaHQ6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1ICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0yMCk7XG4gIC1tb3otb3BhY2l0eTogLjI7XG4gIC1raHRtbC1vcGFjaXR5OiAuMjtcbiAgb3BhY2l0eTogLjI7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9zdGVwIHNwYW4uZ2Zfc3RlcF9udW1iZXIge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgZm9udC1mYW1pbHk6IGFyaWFsLHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1yaWdodDogNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9zdGVwIHNwYW4uZ2Zfc3RlcF9sYWJlbCwgLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAgc3Bhbi5nZl9zdGVwX251bWJlciB7XG4gIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAuZ2Zfc3RlcF9hY3RpdmUge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgLW1vei1vcGFjaXR5OiAxO1xuICAta2h0bWwtb3BhY2l0eTogMTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zfc3RlcF9jbGVhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gIG1hcmdpbi10b3A6IDE4cHg7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIHBhZGRpbmc6IDEwcHggNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjREREOyB9XG5cbi5nZm9ybV93cmFwcGVyIHVsLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZCAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIHVsLmxlZnRfbGFiZWwgbGkuZ2ZpZWxkIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgsIC5nZm9ybV93cmFwcGVyIHVsLnJpZ2h0X2xhYmVsIGxpLmdmaWVsZCAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoIHtcbiAgbWFyZ2luLXRvcDogMThweDtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5iYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCNzhDO1xuICBib3JkZXItY29sb3I6ICNGRjg1M0M7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjRkY4NTNDOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGguZ29vZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkVDOGI7XG4gIGJvcmRlci1jb2xvcjogI0ZDMDtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNGQzA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5taXNtYXRjaCwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5zaG9ydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkEwQTA7XG4gIGJvcmRlci1jb2xvcjogI2YwNDA0MDtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmMDQwNDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5zdHJvbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzNGRjg4O1xuICBib3JkZXItY29sb3I6ICM4REZGMUM7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjOERGRjFDOyB9XG5cbi5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0LCAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCBjYXB0aW9uLCAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0Ym9keSwgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGQsIC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRmb290LCAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0aCwgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGhlYWQsIC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB0YWJsZS1sYXlvdXQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMge1xuICBwYWRkaW5nLXRvcDogMTVweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0aGVhZCB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgY29sZ3JvdXAge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB0YWJsZS5nZmllbGRfbGlzdCB0aGVhZCB0aCB7XG4gIGNvbG9yOiAjNzkwMDAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRoZWFkLCAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ZCwgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGgge1xuICBwYWRkaW5nOiA0cHggMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIHRhYmxlLmdmaWVsZF9saXN0IHRoIHtcbiAgcGFkZGluZzogMCAwIDRweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ZCArIHRkLCAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0aCArIHRoIHtcbiAgcGFkZGluZzogMCAwIDAgMTZweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2xpc3QsIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfbGlzdCB0ZC5nZmllbGRfbGlzdF9jZWxsIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmaWVsZF9pY29uX2Rpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7XG4gIC1tb3otb3BhY2l0eTogLjY7XG4gIC1raHRtbC1vcGFjaXR5OiAuNjtcbiAgb3BhY2l0eTogLjY7IH1cblxuLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIgdGQuZ2ZpZWxkX2xpc3RfaWNvbnMge1xuICB3aWR0aDogNDhweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwIDAgMCA0cHggIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ZC5nZmllbGRfbGlzdF9pY29ucyBpbWcge1xuICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyIHtcbiAgbWFyZ2luOiA4cHggMCA2cHg7XG4gIGhlaWdodDogMzJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fY2FyZF9pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIHRleHQtaW5kZW50OiAtOTAwMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2dmLWNyZWRpdGNhcmQtaWNvbnMucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzJweDtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl92aXNhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX3Zpc2Ege1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX3Zpc2Ege1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fbWFzdGVyY2FyZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9zZWxlY3RlZC5nZm9ybV9jYXJkX2ljb25fbWFzdGVyY2FyZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0zMnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX21hc3RlcmNhcmQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNjRweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUxIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX2FtZXgge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX2FtZXgge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMzJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUxIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX2luYWN0aXZlLmdmb3JtX2NhcmRfaWNvbl9hbWV4IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTY0cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9kaXNjb3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX2Rpc2NvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0zMnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX2Rpc2NvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC02NHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fbWFlc3RybyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX21hZXN0cm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTMycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9pbmFjdGl2ZS5nZm9ybV9jYXJkX2ljb25fbWFlc3RybyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUxIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX2pjYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xODBweCAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX2pjYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xODBweCAtMzJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUxIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX2luYWN0aXZlLmdmb3JtX2NhcmRfaWNvbl9qY2Ige1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgwcHggLTY0cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl92aXNhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9zZWxlY3RlZC5nZm9ybV9jYXJkX2ljb25fdmlzYSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX3Zpc2Ege1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNTZweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUyIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX21hc3RlcmNhcmQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTkycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9zZWxlY3RlZC5nZm9ybV9jYXJkX2ljb25fbWFzdGVyY2FyZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0yMjRweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUyIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX2luYWN0aXZlLmdmb3JtX2NhcmRfaWNvbl9tYXN0ZXJjYXJkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTI1NnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fYW1leCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xOTJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUyIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX3NlbGVjdGVkLmdmb3JtX2NhcmRfaWNvbl9hbWV4IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTIyNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX2FtZXgge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMjU2cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9kaXNjb3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMTkycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9zZWxlY3RlZC5nZm9ybV9jYXJkX2ljb25fZGlzY292ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTIyNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX2Rpc2NvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yNTZweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUyIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX21hZXN0cm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE5MnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX21hZXN0cm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTIyNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX21hZXN0cm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTI1NnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25famNiIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IC0xOTJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUyIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX3NlbGVjdGVkLmdmb3JtX2NhcmRfaWNvbl9qY2Ige1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgwcHggLTIyNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX2pjYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xODBweCAtMjU2cHg7IH1cblxuLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIgaW5wdXRbdHlwZT1yYWRpb10jZ2Zvcm1fcGF5bWVudF9tZXRob2RfY3JlZGl0Y2FyZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNHB4ICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fcmlnaHQge1xuICBtaW4td2lkdGg6IDg1cHggIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggc3Bhbi5naW5wdXRfY2FyZGV4dHJhcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX2xlZnQgc3Bhbi5naW5wdXRfY2FyZF9leHBpcmF0aW9uX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi13aWR0aDogMTYwcHggIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9jYXJkaW5mb19sZWZ0IHNwYW4uZ2lucHV0X2NhcmRfZXhwaXJhdGlvbl9jb250YWluZXIgc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX3JpZ2h0IGlucHV0LmdpbnB1dF9jYXJkX3NlY3VyaXR5X2NvZGUge1xuICBtYXgtd2lkdGg6IDUwJSAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX3JpZ2h0IHNwYW4uZ2lucHV0X2NhcmRfc2VjdXJpdHlfY29kZV9pY29uIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMjNweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9nZi1jcmVkaXRjYXJkLWljb25zLnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbiAgbGVmdDogNnB4O1xuICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWxldXBsb2FkX211bHRpZmlsZSAuZ2Zvcm1fZHJvcF9hcmVhIHtcbiAgcGFkZGluZzogMjRweDtcbiAgYm9yZGVyOiAxcHggZGFzaGVkICNDQ0M7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNBQUE7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIHNwYW4uZ2Zvcm1fZHJvcF9pbnN0cnVjdGlvbnMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi5nZm9ybV9kZWxldGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNvcHlfdmFsdWVzX29wdGlvbl9jb250YWluZXIgLmNvcHlfdmFsdWVzX2VuYWJsZWQge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5maWVsZF9zdWJsYWJlbF9hYm92ZSAuZ2lucHV0X2NvbXBsZXggaW5wdXRbdHlwZT10ZXh0XSB7XG4gIG1hcmdpbi1ib3R0b206IDFweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZm9ybV9zYXZlZF9tZXNzYWdlIHtcbiAgbWFyZ2luOiAxZW0gYXV0bztcbiAgcGFkZGluZzogM2VtIDJlbTtcbiAgd2lkdGg6IDk5JTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMzE3MDhmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNmM2YzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5mb3JtX3NhdmVkX21lc3NhZ2UgZm9ybSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZm9ybV9zYXZlZF9tZXNzYWdlIHAucmVzdW1lX2Zvcm1fbGlua193cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMWVtO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbWF4LXdpZHRoOiA5OCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAycHggMCByZ2JhKDY2LCAxMDMsIDEyNiwgMC4yKTtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDNweCAycHggMCByZ2JhKDY2LCAxMDMsIDEyNiwgMC4yKTtcbiAgYm94LXNoYWRvdzogMCAzcHggMnB4IDAgcmdiYSg2NiwgMTAzLCAxMjYsIDAuMik7IH1cblxuLmZvcm1fc2F2ZWRfbWVzc2FnZSBhLnJlc3VtZV9mb3JtX2xpbmsge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMyZjYzN2U7IH1cblxuLmZvcm1fc2F2ZWRfbWVzc2FnZSAuZm9ybV9zYXZlZF9tZXNzYWdlX2VtYWlsZm9ybSB7XG4gIG1hcmdpbjogMWVtIDAgMDsgfVxuXG4uZm9ybV9zYXZlZF9tZXNzYWdlIGxhYmVsLmZvcm1fc2F2ZWRfbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05MDAwcHg7IH1cblxuZGl2LmZvcm1fc2F2ZWRfbWVzc2FnZSBkaXYuZm9ybV9zYXZlZF9tZXNzYWdlX2VtYWlsZm9ybSBmb3JtIGlucHV0W3R5cGU9dGV4dF0ge1xuICBtYXJnaW4tYm90dG9tOiAuMjVlbTsgfVxuXG5kaXYuZm9ybV9zYXZlZF9tZXNzYWdlIGRpdi5mb3JtX3NhdmVkX21lc3NhZ2VfZW1haWxmb3JtIGZvcm0gaW5wdXQge1xuICBtYXJnaW46IC43NWVtIGF1dG8gMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbmRpdi5mb3JtX3NhdmVkX21lc3NhZ2UgZGl2LmZvcm1fc2F2ZWRfbWVzc2FnZV9lbWFpbGZvcm0gZm9ybSBpbnB1dFt0eXBlPWVtYWlsXSB7XG4gIHBhZGRpbmc6IGNhbGMoLjc1ZW0gLSAxcHgpICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyNGVtO1xuICBtYXgtd2lkdGg6IDk4JSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5MWFmYzc7XG4gIGNvbG9yOiAjNDI0MjQyO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCAwICNlZWVlZWU7XG4gIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCAwICNlZWVlZWU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1cHggMCAjZWVlZWVlOyB9XG5cbmRpdi5mb3JtX3NhdmVkX21lc3NhZ2UgZGl2LmZvcm1fc2F2ZWRfbWVzc2FnZV9lbWFpbGZvcm0gZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBwYWRkaW5nOiAuNzVlbSAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkxYWZjNztcbiAgYm9yZGVyOiAxcHggc29saWQgIzkxYWZjNztcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICBkaXYuZm9ybV9zYXZlZF9tZXNzYWdlIGRpdi5mb3JtX3NhdmVkX21lc3NhZ2VfZW1haWxmb3JtIGZvcm0gaW5wdXRbdHlwZT1lbWFpbF0sIGRpdi5mb3JtX3NhdmVkX21lc3NhZ2UgZGl2LmZvcm1fc2F2ZWRfbWVzc2FnZV9lbWFpbGZvcm0gZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA5OCU7IH0gfVxuXG4uZm9ybV9zYXZlZF9tZXNzYWdlIC5mb3JtX3NhdmVkX21lc3NhZ2VfZW1haWxmb3JtIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBjb2xvcjogIzc5MDAwMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMmVtOyB9XG5cbi5mb3JtX3NhdmVkX21lc3NhZ2Vfc2VudCB7XG4gIG1hcmdpbjogMWVtIGF1dG87XG4gIHBhZGRpbmc6IDNlbSAyZW07XG4gIHdpZHRoOiA5OSU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTlmZmQ5O1xuICBjb2xvcjogIzNjNzYzZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZm9ybV9zYXZlZF9tZXNzYWdlX3NlbnQgLnNhdmVkX21lc3NhZ2VfZW1haWwsIC5mb3JtX3NhdmVkX21lc3NhZ2Vfc2VudCAuc2F2ZWRfbWVzc2FnZV9zdWNjZXNzIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbi5mb3JtX3NhdmVkX21lc3NhZ2Vfc2VudCAuc2F2ZWRfbWVzc2FnZV9lbWFpbCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuYm9keSAjY29udGVudCAuZW50cnktY29udGVudCAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciAjcmVjYXB0Y2hhX3dpZGdldF9kaXYgI3JlY2FwdGNoYV9hcmVhIC5yZWNhcHRjaGF0YWJsZSB0Ym9keSB0ciB0ZCAucmVjYXB0Y2hhX2lucHV0X2FyZWEsIGJvZHkgLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgI3JlY2FwdGNoYV93aWRnZXRfZGl2ICNyZWNhcHRjaGFfYXJlYSAucmVjYXB0Y2hhdGFibGUgdGJvZHkgdHIgdGQgLnJlY2FwdGNoYV9pbnB1dF9hcmVhIHtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIGltZy51aS1kYXRlcGlja2VyLXRyaWdnZXIge1xuICB3aWR0aDogMTdweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIGltZy5hZGRfbGlzdF9pdGVtLCBib2R5IC5nZm9ybV93cmFwcGVyIGltZy5kZWxldGVfbGlzdF9pdGVtIHtcbiAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogLTJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bCBsaS5nZmllbGQuZmllbGRfc3VibGFiZWxfYWJvdmUuZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgKyBsaS5nZmllbGQge1xuICBtYXJnaW4tdG9wOiAxNnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10gKyBpbnB1dFt0eXBlPXRleHRdIHtcbiAgd2lkdGg6IDQ1LjI1JTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB0YWJsZS5yZWNhcHRjaGF0YWJsZSB7XG4gIHRhYmxlLWxheW91dDogYXV0bzsgfVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGRpdi5naW5wdXRfY29udGFpbmVyX2NhcHRjaGEge1xuICBtYXJnaW4tbGVmdDogMjklOyB9XG5cbi5nZmllbGQgLndwLWVkaXRvci1jb250YWluZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9XG5cbi5nZmllbGQgLndwLXN3aXRjaC1lZGl0b3Ige1xuICBib3JkZXItY29sb3I6ICNkZGQ7IH1cblxuLmdmaWVsZCAuaHRtbC1hY3RpdmUgLnN3aXRjaC1odG1sLCAuZ2ZpZWxkIC50bWNlLWFjdGl2ZSAuc3dpdGNoLXRtY2Uge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZjVmNWY1OyB9XG5cbi5nZmllbGQgLm1jZS1lZGl0LWFyZWEgaWZyYW1lIHtcbiAgd2lkdGg6IDk5LjklICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgdWwgbGkuZ2ZpZWxkIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRzIGxpLmdmaWVsZCBsYWJlbC5nZmllbGRfbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIHVsIGxpLCBib2R5IC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCB1bCBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIHVsLCBib2R5IC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICBtYXJnaW46IDE2cHggMCAxNnB4IDI4cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCBvbCBsaSwgYm9keSAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwgb2wgbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1hcmdpbjogMCAwIDhweDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCBvbCwgYm9keSAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAxNnB4IDAgMThweCAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIG9sIGxpIHVsLCBib2R5IC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCBvbCBsaSB1bCBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIG9sIGxpIHVsIHtcbiAgbWFyZ2luOiAxNnB4IDAgMTZweCAxNnB4OyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIG9sIGxpIHVsIGxpIHtcbiAgbWFyZ2luOiAwIDAgOHB4OyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCBkbCB7XG4gIG1hcmdpbjogMCAwIDE4cHg7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwgZGwgZHQge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCBkbCBkZCB7XG4gIG1hcmdpbjogMCAwIDE2cHggMThweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBzcGFuLmdmX2NsZWFyX3NwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi10b3A6IC0xcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyICoge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1kcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHotaW5kZXg6IDEwMTA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgNHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tZHJvcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1zaW5nbGUgLmdyb3VwLW5hbWUsIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5zZWFyY2gtY2hvaWNlIC5ncm91cC1uYW1lIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzk5OTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXNpbmdsZSAuZ3JvdXAtbmFtZTphZnRlciwgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLnNlYXJjaC1jaG9pY2UgLmdyb3VwLW5hbWU6YWZ0ZXIge1xuICBjb250ZW50OiBcIjpcIjtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDAgOHB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgyMCUsICNmZmYpLCBjb2xvci1zdG9wKDUwJSwgI2Y2ZjZmNiksIGNvbG9yLXN0b3AoNTIlLCAjZWVlKSwgdG8oI2Y0ZjRmNCkpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoI2ZmZiAyMCUsICNmNmY2ZjYgNTAlLCAjZWVlIDUyJSwgI2Y0ZjRmNCAxMDAlKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgM3B4ICNmZmYgaW5zZXQsIDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggI2ZmZiBpbnNldCwgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY29sb3I6ICM0NDQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGlucHV0W3R5cGU9dGV4dF0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tZGVmYXVsdCB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1yaWdodDogMjZweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlLXdpdGgtZGVzZWxlY3Qgc3BhbiB7XG4gIG1hcmdpbi1yaWdodDogMzhweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgYWJiciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2cHg7XG4gIHJpZ2h0OiAyNnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZDogdXJsKGNob3Nlbi1zcHJpdGUucG5nKSAtNDJweCAxcHggbm8tcmVwZWF0O1xuICBmb250LXNpemU6IDFweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgYWJicjpob3ZlciwgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLXNpbmdsZSBhYmJyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTEwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHVybChjaG9zZW4tc3ByaXRlLnBuZykgMCAycHggbm8tcmVwZWF0OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAxMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAzcHggNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPXRleHRdIHtcbiAgbWFyZ2luOiAxcHggMDtcbiAgcGFkZGluZzogNHB4IDIwcHggNHB4IDVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYmFja2dyb3VuZDogdXJsKGNob3Nlbi1zcHJpdGUucG5nKSAxMDAlIC0yMHB4IG5vLXJlcGVhdDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLWRyb3Age1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUtbm9zZWFyY2ggLmNob3Nlbi1zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyB7XG4gIGNvbG9yOiAjNDQ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWFyZ2luOiAwIDRweCA0cHggMDtcbiAgcGFkZGluZzogMCAwIDAgNHB4O1xuICBtYXgtaGVpZ2h0OiAyNDBweDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNXB4IDZweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5hY3RpdmUtcmVzdWx0IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmRpc2FibGVkLXJlc3VsdCB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuaGlnaGxpZ2h0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg3NWQ3O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDIwJSwgIzM4NzVkNyksIGNvbG9yLXN0b3AoOTAlLCAjMmE2MmJjKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjMzg3NWQ3IDIwJSwgIzJhNjJiYyA5MCUpO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkubm8tcmVzdWx0cyB7XG4gIGNvbG9yOiAjNzc3O1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmdyb3VwLXJlc3VsdCB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1vcHRpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpIGVtIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMSUsICNlZWUpLCBjb2xvci1zdG9wKDE1JSwgI2ZmZikpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2VlZSAxJSwgI2ZmZiAxNSUpO1xuICBjdXJzb3I6IHRleHQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1maWVsZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9dGV4dF0ge1xuICBtYXJnaW46IDFweCAwO1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IDI1cHg7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAwIDAgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzk5OTtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgd2lkdGg6IDI1cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogM3B4IDVweCAzcHggMDtcbiAgcGFkZGluZzogM3B4IDIwcHggM3B4IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMjAlLCAjZjRmNGY0KSwgY29sb3Itc3RvcCg1MCUsICNmMGYwZjApLCBjb2xvci1zdG9wKDUyJSwgI2U4ZThlOCksIHRvKCNlZWUpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQgMjAlLCAjZjBmMGYwIDUwJSwgI2U4ZThlOCA1MiUsICNlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxOXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDJweCAjZmZmIGluc2V0LCAwIDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggI2ZmZiBpbnNldCwgMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogIzMzMztcbiAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSBzcGFuIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgcmlnaHQ6IDNweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQ6IHVybChjaG9zZW4tc3ByaXRlLnBuZykgLTQycHggMXB4IG5vLXJlcGVhdDtcbiAgZm9udC1zaXplOiAxcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMTBweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZS1kaXNhYmxlZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgyMCUsICNmNGY0ZjQpLCBjb2xvci1zdG9wKDUwJSwgI2YwZjBmMCksIGNvbG9yLXN0b3AoNTIlLCAjZThlOGU4KSwgdG8oI2VlZSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2Y0ZjRmNCAyMCUsICNmMGYwZjAgNTAlLCAjZThlOGU4IDUyJSwgI2VlZSAxMDAlKTtcbiAgY29sb3I6ICM2NjY7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UtZm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjZDRkNGQ0OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlLWZvY3VzIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTEwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1yZXN1bHRzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tZHJvcCAucmVzdWx0LXNlbGVjdGVkIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICBjb2xvcjogI2NjYztcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLXNpbmdsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMjAlLCAjZWVlKSwgY29sb3Itc3RvcCg4MCUsICNmZmYpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNlZWUgMjAlLCAjZmZmIDgwJSk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggMCAjZmZmIGluc2V0O1xuICBib3gtc2hhZG93OiAwIDFweCAwICNmZmYgaW5zZXQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItYWN0aXZlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUgZGl2IHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJhY2tncm91bmQ6IDAgMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xOHB4IDJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUgLmNob3Nlbi1jaG9pY2VzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT10ZXh0XSB7XG4gIGNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLWNob2ljZXMgLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2UsIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tZGlzYWJsZWQgLmNob3Nlbi1zaW5nbGUge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiAwIDhweCAwIDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwgLmNob3Nlbi1zaW5nbGUgc3BhbiB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDI2cHg7XG4gIGRpcmVjdGlvbjogcnRsOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlLXdpdGgtZGVzZWxlY3Qgc3BhbiB7XG4gIG1hcmdpbi1sZWZ0OiAzOHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIGRpdiB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAzcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwgLmNob3Nlbi1zaW5nbGUgYWJiciB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAyNnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsIC5jaG9zZW4tY2hvaWNlcyBsaSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bCAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9dGV4dF0ge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bCAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSB7XG4gIG1hcmdpbjogM3B4IDVweCAzcHggMDtcbiAgcGFkZGluZzogM3B4IDVweCAzcHggMTlweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bCAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA0cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1yZXN1bHRzIHtcbiAgbWFyZ2luOiAwIDAgNHB4IDRweDtcbiAgcGFkZGluZzogMCA0cHggMCAwOyB9XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1vcHRpb24ge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XSB7XG4gIHBhZGRpbmc6IDRweCA1cHggNHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHVybChjaG9zZW4tc3ByaXRlLnBuZykgLTMwcHggLTIwcHggbm8tcmVwZWF0O1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDZweCAycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMnB4IDJweDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE0NGRwaSksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpIHtcbiAgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzLXNjcm9sbC1kb3duIHNwYW4sIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cy1zY3JvbGwtdXAgc3BhbiwgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIC5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlLCAuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XSwgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGFiYnIsIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiwgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGNob3Nlbi1zcHJpdGVAMngucG5nKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTJweCAzN3B4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50OyB9IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciBhLmNob3Nlbi1zaW5nbGUge1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0OyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgdWwuY2hvc2VuLXJlc3VsdHMgbGkge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MXB4KSB7XG4gIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItc2luZ2xlW3N0eWxlXSwgLmdmb3JtX3dyYXBwZXIgZGl2LmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1tdWx0aVtzdHlsZV0ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPSdmaWxlJ10pIHtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBtaW4taGVpZ2h0OiAycmVtOyB9XG4gIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhIHtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyLjg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItbXVsdGkgdWwuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSwgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSB1bC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItbXVsdGkgdWwuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSBzcGFuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICB0b3A6IGNhbGMoNTAlIC0gNnB4KTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbnRhaW5lciBzcGFuOm5vdCguZ2lucHV0X3ByaWNlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmZpZWxkX3N1YmxhYmVsX2JlbG93IC5naW5wdXRfY29tcGxleCB7XG4gICAgbWFyZ2luLXRvcDogMTJweCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICB3aWR0aDogODUlO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzYxcHgpLCAobWluLWRldmljZS13aWR0aDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyM3B4KSB7XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yICsgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gICAgbWFyZ2luLXRvcDogMzJweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRoZWFkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOTk5OXB4O1xuICAgIGxlZnQ6IC05OTk5cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDQztcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI0NDQzsgfVxuICAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ZC5nZmllbGRfbGlzdF9pY29ucyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBtYXJnaW46IDE2cHggMCAwICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzLmZvcm1fc3VibGFiZWxfYWJvdmUgdGFibGUuZ2ZpZWxkX2xpc3QgdGQ6YmVmb3JlLCAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMuZm9ybV9zdWJsYWJlbF9iZWxvdyB0YWJsZS5nZmllbGRfbGlzdCB0ZDphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKTtcbiAgICBmb250LXNpemU6IC44NzVlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjVwdDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcy5mb3JtX3N1YmxhYmVsX2Fib3ZlIHRhYmxlLmdmaWVsZF9saXN0IHRkOmJlZm9yZSB7XG4gICAgbWFyZ2luOiA4cHggMCAzcHggOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcy5mb3JtX3N1YmxhYmVsX2JlbG93IHRhYmxlLmdmaWVsZF9saXN0IHRkOmFmdGVyIHtcbiAgICBtYXJnaW46IDNweCAwIDhweCA4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGQgKyB0ZCwgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGggKyB0aCB7XG4gICAgcGFkZGluZzogNHB4IDAgMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ci5nZmllbGRfbGlzdF9yb3dfZXZlbiwgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIuZ2ZpZWxkX2xpc3Rfcm93X29kZCB7XG4gICAgbWFyZ2luOiAxNnB4IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIsIC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRyLmdmaWVsZF9saXN0X3Jvd19vZGQ6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAxMnB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRyIHRkLmdmaWVsZF9saXN0X2ljb25zIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgNHB4IDRweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIgdGQuZ2ZpZWxkX2xpc3RfaWNvbnMgaW1nLmFkZF9saXN0X2l0ZW0ge1xuICAgIG1hcmdpbjogMTJweCAwIDAgMTZweCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRyIHRkLmdmaWVsZF9saXN0X2ljb25zIGltZy5kZWxldGVfbGlzdF9pdGVtIHtcbiAgICBtYXJnaW46IDEycHggMCAwIDhweCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgYS5nZm9ybV9zYXZlX2xpbmssIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciBhLmdmb3JtX3NhdmVfbGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9saXN0IHRkLmdmaWVsZF9saXN0X2NlbGwgaW5wdXQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciAuZ2Zvcm1fYm9keSB1bCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yOm5vdCguZ2ZfbGVmdF9oYWxmKTpub3QoLmdmX3JpZ2h0X2hhbGYpIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdzZWN0aW9uIHtcbiAgICBtYXJnaW46IDI4cHggMTZweCAyOHB4IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZ2ZpZWxkX2xhYmVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjklO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgLmdmaWVsZF9kZXNjcmlwdGlvbiwgLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiA3MCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5sZWZ0X2xhYmVsIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5sZWZ0X2xhYmVsIGxpIHVsLmdmaWVsZF9yYWRpbyBsaSwgLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5yaWdodF9sYWJlbCBsaSB1bC5nZmllbGRfY2hlY2tib3ggbGksIC5nZm9ybV93cmFwcGVyIGZvcm0gdWwucmlnaHRfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpLCAuZ2Zvcm1fd3JhcHBlciB1bC5sZWZ0X2xhYmVsIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgdWwubGVmdF9sYWJlbCBsaSB1bC5nZmllbGRfcmFkaW8gbGksIC5nZm9ybV93cmFwcGVyIHVsLnJpZ2h0X2xhYmVsIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgdWwucmlnaHRfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5nZmllbGRfZGVzY3JpcHRpb24sIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5pbnN0cnVjdGlvbiwgLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5nZmllbGRfZGVzY3JpcHRpb24sIC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCAuaW5zdHJ1Y3Rpb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAyOSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZ3NlY3Rpb24gLmdzZWN0aW9uX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0gdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGRfaHRtbF9mb3JtYXR0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAyOSUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogNzAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgdWwuZ2ZpZWxkX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCBkaXYuZ2lucHV0X2NvbXBsZXgsIC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCBkaXYuZ2lucHV0X2NvbXBsZXgge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDI5JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCBpbnB1dC5zbWFsbCwgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgc2VsZWN0LnNtYWxsLCAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgaW5wdXQuc21hbGwsIC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCBzZWxlY3Quc21hbGwge1xuICAgIHdpZHRoOiAxNSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgaW5wdXQubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCBzZWxlY3QubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgaW5wdXQubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgc2VsZWN0Lm1lZGl1bSB7XG4gICAgd2lkdGg6IGNhbGMoMzUlIC0gOHB4KTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCBpbnB1dC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgc2VsZWN0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCB0ZXh0YXJlYS5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgdGV4dGFyZWEubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCB0ZXh0YXJlYS5zbWFsbCwgLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIGlucHV0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgc2VsZWN0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgdGV4dGFyZWEubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCB0ZXh0YXJlYS5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCB0ZXh0YXJlYS5zbWFsbCB7XG4gICAgd2lkdGg6IDcwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIC5naW5wdXRfbGlzdCB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBtYXJnaW4tbGVmdDogMjklICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2xpc3Qge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5nZl9saXN0X29uZV9jb2x1bW4sIC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCAuZ2ZfbGlzdF9vbmVfY29sdW1uIHtcbiAgICB3aWR0aDogNDUlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmX2xpc3Rfb25lX2NvbHVtbiB7XG4gICAgd2lkdGg6IDQ2JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCBsaS5oaWRkZW5fbGFiZWwgaW5wdXQsIC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCBsaS5oaWRkZW5fbGFiZWwgaW5wdXQge1xuICAgIG1hcmdpbi1sZWZ0OiAzLjclOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIGxpLmdmaWVsZCAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoLCAuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgbGkuZ2ZpZWxkIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgge1xuICAgIG1hcmdpbi1sZWZ0OiAyOSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dC5zbWFsbCwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBzZWxlY3Quc21hbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgc2VsZWN0Lm1lZGl1bSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gOHB4KTsgfVxuICAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIC50b3BfbGFiZWwgaW5wdXQubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIC50b3BfbGFiZWwgc2VsZWN0Lm1lZGl1bSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuaGlkZGVuX2xhYmVsIGlucHV0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAuaGlkZGVuX2xhYmVsIHNlbGVjdC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBzZWxlY3QubGFyZ2Uge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgaW5wdXQubGFyZ2UuZGF0ZXBpY2tlciwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dC5tZWRpdW0uZGF0ZXBpY2tlciwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dC5zbWFsbC5kYXRlcGlja2VyIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYS5zbWFsbCB7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhLm1lZGl1bSB7XG4gICAgaGVpZ2h0OiAxNjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciB0ZXh0YXJlYS5sYXJnZSB7XG4gICAgaGVpZ2h0OiAzMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQsIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQsIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX2xlZnQge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luOiAwIC00cHggMCAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX3Bhc3N3b3JkIC5naW5wdXRfcmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX2xlZnQsIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX3JpZ2h0IHtcbiAgICBtaW4taGVpZ2h0OiA0M3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggc2VsZWN0LmdpbnB1dF9jYXJkX2V4cGlyYXRpb24uZ2lucHV0X2NhcmRfZXhwaXJhdGlvbl9tb250aCwgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IHNlbGVjdC5naW5wdXRfY2FyZF9leHBpcmF0aW9uLmdpbnB1dF9jYXJkX2V4cGlyYXRpb25feWVhciB7XG4gICAgd2lkdGg6IDQ3JSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9jYXJkaW5mb19sZWZ0IHNlbGVjdC5naW5wdXRfY2FyZF9leHBpcmF0aW9uLmdpbnB1dF9jYXJkX2V4cGlyYXRpb25fbW9udGgge1xuICAgIG1hcmdpbi1yaWdodDogNHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZl9zdGVwIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAxNnB4IDMycHggMTZweCAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIC53cC1ibG9jay1idXR0b24gaW5wdXQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXQud3AtYmxvY2stYnV0dG9uX19saW5rLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9aW1hZ2VdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1pbWFnZV0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBhLmdmb3JtX3NhdmVfbGluaywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIGEuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC5idXR0b24sIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgLndwLWJsb2NrLWJ1dHRvbiBpbnB1dC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBpbnB1dC53cC1ibG9jay1idXR0b25fX2xpbmssIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1zdWJtaXRdLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXQuYnV0dG9uLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLndwLWJsb2NrLWJ1dHRvbiBpbnB1dC53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIGlucHV0LndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIDE2cHggMCAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCB7XG4gICAgcGFkZGluZy1yaWdodDogOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3M6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyAuZ2lucHV0X2xlZnQge1xuICAgIG1hcmdpbi1yaWdodDogOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIHNwYW4uZ2lucHV0X2Z1bGwgKyBzcGFuLmdpbnB1dF9yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyBzcGFuLmdpbnB1dF9yaWdodCArIHNwYW4uZ2lucHV0X2xlZnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogLThweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIHNwYW4uZ2lucHV0X3JpZ2h0ICsgc3Bhbi5naW5wdXRfbGVmdC5hZGRyZXNzX3ppcCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aCB7XG4gICAgbWFyZ2luOiAxOHB4IDA7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3Rlcjpub3QoLnRvcF9sYWJlbCkge1xuICAgIHBhZGRpbmc6IDE2cHggMCAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyOSU7XG4gICAgd2lkdGg6IDcwJTsgfVxuICAudG9wX2xhYmVsIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzEsIC50b3BfbGFiZWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMiwgLnRvcF9sYWJlbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18zIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTVweCk7IH1cbiAgLnRvcF9sYWJlbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc180IHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTNweCk7IH1cbiAgLnRvcF9sYWJlbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc181IHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTRweCk7IH1cbiAgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18xLCB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzIsIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMyB7XG4gICAgd2lkdGg6IGNhbGMoNzAlICsgMTVweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDI5JTsgfVxuICB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMSwgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzIsIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18zIHtcbiAgICB3aWR0aDogY2FsYyg3MCUgKyAyNHB4KTsgfVxuICB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzQge1xuICAgIHdpZHRoOiBjYWxjKDcwJSArIDEzcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAyOSU7IH1cbiAgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc181IHtcbiAgICB3aWR0aDogY2FsYyg3MCUgKyAxNHB4KTtcbiAgICBtYXJnaW4tbGVmdDogMjklOyB9XG4gIGRpdi5naW5wdXRfY29udGFpbmVyX25hbWUgc3BhbiB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC00cHg7IH1cbiAgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMSBzcGFuIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18yIHNwYW4ge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMyBzcGFuIHtcbiAgICB3aWR0aDogMzMuMyU7IH1cbiAgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfNCBzcGFuIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzUgc3BhbiB7XG4gICAgd2lkdGg6IDE5Ljk1JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMSBzcGFuIHtcbiAgICB3aWR0aDogOTkuNzUlICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzIgc3BhbiB7XG4gICAgd2lkdGg6IDQ5Ljc1JSAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18zIHNwYW4ge1xuICAgIHdpZHRoOiAzMyUgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfNCBzcGFuIHtcbiAgICB3aWR0aDogMjQuNzUlICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzUgc3BhbiB7XG4gICAgd2lkdGg6IDE5Ljc1JSAhaW1wb3J0YW50OyB9XG4gIGh0bWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMiBzcGFuOmZpcnN0LWNoaWxkLCBodG1sIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzMgc3BhbjpmaXJzdC1jaGlsZCwgaHRtbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc180IHNwYW46Zmlyc3QtY2hpbGQsIGh0bWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfNSBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCB7XG4gICAgd2lkdGg6IGNhbGMoNzAlICsgMTZweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDI5JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCB7XG4gICAgd2lkdGg6IGNhbGMoNzAlICsgMTdweCk7IH1cbiAgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCB7XG4gICAgd2lkdGg6IGNhbGMoNzAlICsgOHB4KSAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfZW1haWwgLmdpbnB1dF9sZWZ0LCAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2VtYWlsIC5naW5wdXRfcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwubGVmdF9sYWJlbCBsaS5nZmllbGQgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aCwgLmdmb3JtX3dyYXBwZXIgdWwucmlnaHRfbGFiZWwgbGkuZ2ZpZWxkIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgge1xuICAgIHdpZHRoOiA3MCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IHNwYW4uZ2lucHV0X2xlZnQgKyBpbnB1dC5nZm9ybV9oaWRkZW4gKyBzcGFuLmdpbnB1dF9sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCBzcGFuLmdpbnB1dF9sZWZ0LmFkZHJlc3NfY291bnRyeSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIGh0bWw6bm90KFtkaXI9cnRsXSkgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuY2xlYXItbXVsdGksIGh0bWw6bm90KFtkaXI9cnRsXSkgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLCBodG1sOm5vdChbZGlyPXJ0bF0pIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmdpbnB1dF9jb250YWluZXI6bm90KC5naW5wdXRfY29udGFpbmVyX3RpbWUpOm5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBtYXJnaW4tbGVmdDogMjklOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZl9wcm9ncmVzc2JhciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmdmb3JtX2ZpbGV1cGxvYWRfbXVsdGlmaWxlIC5nZm9ybV9kcm9wX2FyZWEge1xuICAgIG1hcmdpbi1sZWZ0OiAyOSU7XG4gICAgd2lkdGg6IDcwJTsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIHNwYW4uZ2lucHV0X2xlZnQuYWRkcmVzc19jaXR5ICsgaW5wdXQuZ2Zvcm1faGlkZGVuICsgc3Bhbi5naW5wdXRfbGVmdC5hZGRyZXNzX2NvdW50cnkge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDhweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X3JlY2FwdGNoYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI5JSAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX3ByZXZpb3VzX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9wcmV2aW91c19idXR0b24ud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC53cC1ibG9jay1idXR0b24gLmdmb3JtX2J1dHRvbi53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5nZm9ybV9idXR0b24ud3AtYmxvY2stYnV0dG9uX19saW5rLCAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9uZXh0X2J1dHRvbiwgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC53cC1ibG9jay1idXR0b24gLmdmb3JtX25leHRfYnV0dG9uLndwLWJsb2NrLWJ1dHRvbl9fbGluaywgLndwLWJsb2NrLWJ1dHRvbiAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmdmb3JtX25leHRfYnV0dG9uLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIGJvZHkgLmdmb3JtX3dyYXBwZXIgc2VsZWN0Lm1lZGl1bS5nZmllbGRfc2VsZWN0ICsgZGl2LmNob3Nlbi1jb250YWluZXItbXVsdGlbc3R5bGVdLCBib2R5IC5nZm9ybV93cmFwcGVyIHNlbGVjdC5tZWRpdW0uZ2ZpZWxkX3NlbGVjdCArIGRpdi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZVtzdHlsZV0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDhweCkgIWltcG9ydGFudDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIHNlbGVjdC5sYXJnZS5nZmllbGRfc2VsZWN0ICsgZGl2LmNob3Nlbi1jb250YWluZXItbXVsdGlbc3R5bGVdLCBib2R5IC5nZm9ybV93cmFwcGVyIHNlbGVjdC5sYXJnZS5nZmllbGRfc2VsZWN0ICsgZGl2LmNob3Nlbi1jb250YWluZXItc2luZ2xlW3N0eWxlXSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBib2R5IC5nZm9ybV93cmFwcGVyIHNlbGVjdC5zbWFsbC5nZmllbGRfc2VsZWN0ICsgZGl2LmNob3Nlbi1jb250YWluZXItbXVsdGlbc3R5bGVdLCBib2R5IC5nZm9ybV93cmFwcGVyIHNlbGVjdC5zbWFsbC5nZmllbGRfc2VsZWN0ICsgZGl2LmNob3Nlbi1jb250YWluZXItc2luZ2xlW3N0eWxlXSB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9IH1cblxuLmdmaWVsZF9yZXBlYXRlcl9jZWxsID4gLmdmaWVsZF9yZXBlYXRlcl93cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCAxLCAxLCAwLjAyKTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5nZmllbGRfcmVwZWF0ZXJfd3JhcHBlciBpbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjNWM2YzU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX3dyYXBwZXIgLmdmaWVsZF9yZXBlYXRlcl93cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMgLmFkZF9yZXBlYXRlcl9pdGVtX3RleHQsIC5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyAucmVtb3ZlX3JlcGVhdGVyX2l0ZW1fdGV4dCB7XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42NywgMC4xNywgMC40LCAwLjgzKTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzc1NzU3NTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTE3LCAxMTcsIDExNywgMC40KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMgLmFkZF9yZXBlYXRlcl9pdGVtX3BsdXMsIC5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyAucmVtb3ZlX3JlcGVhdGVyX2l0ZW1fbWludXMge1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuNSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjY3LCAwLjE3LCAwLjQsIDAuODMpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjNzU3NTc1O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG1hcmdpbjogMTBweCA1cHggMDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTcsIDExNywgMTE3LCAwLjQpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwIDAgNXB4OyB9XG5cbi5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyBidXR0b24uZ2ZpZWxkX2ljb25fZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7XG4gIC1tb3otb3BhY2l0eTogLjM7XG4gIC1raHRtbC1vcGFjaXR5OiAuMztcbiAgb3BhY2l0eTogLjM7IH1cblxuLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIGJ1dHRvbi5nZmllbGRfaWNvbl9kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC41KTtcbiAgY29sb3I6ICM3NTc1NzU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTE3LCAxMTcsIDExNywgMC40KTsgfVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMgYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgY29sb3I6ICMzNzQ3NTA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3NTc1NzU7IH1cblxuLmdmaWVsZF9yZXBlYXRlcl9jZWxsID4gLmdmaWVsZF9yZXBlYXRlcl93cmFwcGVyIHtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAjZjFmMWYxO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpLCAwIDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMDYpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpOyB9XG5cbi5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyAuYWRkX3JlcGVhdGVyX2l0ZW1fdGV4dDpmb2N1cywgLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIC5yZW1vdmVfcmVwZWF0ZXJfaXRlbV90ZXh0OmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX2l0ZW0gLmdmaWVsZF9yZXBlYXRlcl9jZWxsIC5nZmllbGRfcmVxdWlyZWQge1xuICBjb2xvcjogI2MzMjEyMTsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwgbGFiZWwge1xuICBjb2xvcjogIzliOWE5YTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nLXRvcDogOHB4OyB9XG5cbi5nZmllbGRfcmVwZWF0ZXJfdmFsdWUgLmdmaWVsZF9yZXBlYXRlcl92YWx1ZSAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuZGl2IC5nZmllbGRfcmVwZWF0ZXJfY2VsbCB7XG4gIG1hcmdpbi10b3A6IDVweDsgfVxuXG4uZ2ZpZWxkX3JlcGVhdGVyIC5nZmllbGRfcmVwZWF0ZXJfaXRlbXMgLmdmaWVsZF9yZXBlYXRlcl9pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2UwZTBlNjtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX3ZhbHVlID4gLmdmaWVsZF9yZXBlYXRlciB7XG4gIGJvcmRlci1sZWZ0OiA4cHggc29saWQgcmdiYSg1NCwgODYsIDEwMiwgMC4xKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCAxLCAxLCAwLjAyKTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlO1xuICBtYXJnaW46IDEwcHg7IH1cblxuLmdmaWVsZF9yZXBlYXRlcl9jZWxsIC5nZmllbGRfcmVwZWF0ZXJfdmFsdWU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBjb2xvcjogcmdiYSgxMTcsIDExNywgMTE3LCAwLjcpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzVjNmM1O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG5cbi5nZmllbGRfcmVwZWF0ZXIgLmdmaWVsZF9yZXBlYXRlcl9pdGVtcywgLmdmaWVsZF9yZXBlYXRlcl9pdGVtcyAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGw6bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLXRvcDogNXB4OyB9XG5cbi5nZmllbGRfcmVwZWF0ZXIgLmdmaWVsZF9sYWJlbCB7XG4gIGNvbG9yOiAjMjMyODJkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmdmaWVsZF9yZXBlYXRlcl92YWx1ZSAuZ2ZpZWxkX2xhYmVsLCAuZ2ZpZWxkX3JlcGVhdGVyX3ZhbHVlIC5nZmllbGRfcmVwZWF0ZXJfdmFsdWUgLmdmaWVsZF9yZXBlYXRlcl9pdGVtOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLyogIFJFQURZIENMQVNTICoqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1lbWFpbF0ubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPWVtYWlsXS5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPWVtYWlsXS5zbWFsbCwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9bnVtYmVyXS5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9bnVtYmVyXS5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPW51bWJlcl0uc21hbGwsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXBhc3N3b3JkXS5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9cGFzc3dvcmRdLm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9cGFzc3dvcmRdLnNtYWxsLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZWxdLmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZWxdLm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGVsXS5zbWFsbCwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGV4dF0ubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRleHRdLm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGV4dF0uc21hbGwsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXVybF0ubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXVybF0ubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT11cmxdLnNtYWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZXh0XS5kYXRlcGlja2VyLm1lZGl1bSB7XG4gICAgd2lkdGg6IDk2cHggIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfaG91ciBpbnB1dFt0eXBlPXRleHRdLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX21pbnV0ZSBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICB3aWR0aDogNzAlICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfZGF0ZV9kYXksIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX2RhdGVfbW9udGgsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX2RhdGVfeWVhciwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfdGltZV9ob3VyLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX21pbnV0ZSB7XG4gICAgd2lkdGg6IDUwcHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfdGltZV9hbXBtIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9pbmxpbmUgZGl2LmdpbnB1dF9jb250YWluZXIge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9pbmxpbmUgZGl2LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9kYXRlIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfaW5saW5lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgLmdpbnB1dF9jb250YWluZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKTpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSk6bm90KC5naW5wdXRfcXVhbnRpdHkpOm5vdCguZGF0ZXBpY2tlciksIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgLmdpbnB1dF9jb250YWluZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKTpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSk6bm90KC5naW5wdXRfcXVhbnRpdHkpOm5vdCguZGF0ZXBpY2tlcikge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiA4cHggMCAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9sZWZ0X2hhbGYsIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX3JpZ2h0X2hhbGYge1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAxNnB4KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9sZWZ0X2hhbGYge1xuICAgIG1hcmdpbi1yaWdodDogMTZweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Lm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5tZWRpdW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiB0ZXh0YXJlYSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDk4JTsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgaW5wdXQuc21hbGwsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgaW5wdXQuc21hbGwge1xuICAgIHdpZHRoOiAzNSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZiwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiArIGxpLmdzZWN0aW9uLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZiwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmICsgbGkuZ3NlY3Rpb24sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYgKyBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYge1xuICAgIHBhZGRpbmc6IDE2cHggMCA4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYge1xuICAgIHBhZGRpbmc6IDAgMCA4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciArIGxpLmdzZWN0aW9uLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciArIGxpLmdzZWN0aW9uLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkICsgbGkuZ3NlY3Rpb24sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkICsgbGkuZ3NlY3Rpb24sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmICsgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZiArIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmIHtcbiAgICBwYWRkaW5nOiAxNnB4IDAgOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiArIC5nZm9ybV9mb290ZXIsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiArIGxpLmdmaWVsZCwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiArIC5nZm9ybV9mb290ZXIsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgKyBsaS5nZmllbGQge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSksIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZDpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pIHtcbiAgICB3aWR0aDogMzMuMyU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQ6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSB7XG4gICAgd2lkdGg6IDMzLjQlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Lm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0Lm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5tZWRpdW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoLmdpbnB1dF9xdWFudGl0eSksIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdCguZ2lucHV0X3F1YW50aXR5KSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdCguZ2lucHV0X3F1YW50aXR5KSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2xlZnRfdGhpcmQsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9taWRkbGVfdGhpcmQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMlIC0gMjRweCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX3JpZ2h0X3RoaXJkIHtcbiAgICB3aWR0aDogMzMuNCU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCArIC5nZm9ybV9mb290ZXIsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgKyBsaS5nZmllbGQsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCArIC5nZm9ybV9mb290ZXIsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCArIGxpLmdmaWVsZCwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgKyAuZ2Zvcm1fZm9vdGVyLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCArIGxpLmdmaWVsZCB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSkge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZfZmlyc3RfcXVhcnRlciwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2ZvdXJ0aF9xdWFydGVyLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2Zfc2Vjb25kX3F1YXJ0ZXIsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl90aGlyZF9xdWFydGVyIHtcbiAgICB3aWR0aDogMjQuNSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBpbnB1dC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBpbnB1dC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgc2VsZWN0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIHNlbGVjdC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGlucHV0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciBpbnB1dC5tZWRpdW0sIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIHNlbGVjdC5sYXJnZSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgaW5wdXQubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyIGlucHV0Lm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgc2VsZWN0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBzZWxlY3QubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIGlucHV0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIGlucHV0Lm1lZGl1bSwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBzZWxlY3QubGFyZ2UsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSB7XG4gICAgd2lkdGg6IDk3LjUlOyB9XG4gIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgKyAuZ2Zvcm1fZm9vdGVyLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyICsgbGkuZ2ZpZWxkLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciArIC5nZm9ybV9mb290ZXIsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyICsgbGkuZ2ZpZWxkLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciArIC5nZm9ybV9mb290ZXIsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyICsgbGkuZ2ZpZWxkLCAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyICsgLmdmb3JtX2Zvb3RlciwgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciArIGxpLmdmaWVsZCB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaSB1bC5nZmllbGRfY2hlY2tib3gsIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTZweCk7IH1cbiAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaSB1bC5nZmllbGRfY2hlY2tib3gsIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICB3aWR0aDogY2FsYyg3MCUgKyAxNnB4KTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmb250LXNpemU6IDkwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHdpZHRoOiAzMy4zJTtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogOTAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuICAgIG1heC13aWR0aDogNzUlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogOTAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzVjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogOTAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIGxhYmVsLmdmaWVsZF9sYWJlbCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIGxhYmVsLmdmaWVsZF9sYWJlbCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIGxhYmVsLmdmaWVsZF9sYWJlbCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIGxhYmVsLmdmaWVsZF9sYWJlbCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIGxhYmVsLmdmaWVsZF9sYWJlbCwgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF9pbmxpbmUgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9yYWRpbywgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfY2hlY2tib3gsIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX3JhZGlvLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9jaGVja2JveCwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfcmFkaW8sIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzVjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF81Y29sIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzNjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzRjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IHtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDE2cHg7XG4gICAgLW1vei1jb2x1bW4tZ2FwOiAxNnB4O1xuICAgIGNvbHVtbi1nYXA6IDE2cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1jb3VudDogMjsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzNjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzNjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICBjb2x1bW4tY291bnQ6IDM7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDQ7XG4gICAgY29sdW1uLWNvdW50OiA0OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiA1O1xuICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgIGNvbHVtbi1jb3VudDogNTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzNjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzNjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzRjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzRjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzI1IHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzI1IHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgaGVpZ2h0OiAyNXB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF81MCB1bC5nZmllbGRfY2hlY2tib3ggbGksIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF81MCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIGhlaWdodDogNTBweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNzUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNzUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBoZWlnaHQ6IDc1cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzEwMCB1bC5nZmllbGRfY2hlY2tib3ggbGksIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xMDAgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBoZWlnaHQ6IDEwMHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8xMjUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTI1IHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgaGVpZ2h0OiAxMjVweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTUwIHVsLmdmaWVsZF9jaGVja2JveCBsaSwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfaGVpZ2h0XzE1MCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIGhlaWdodDogMTUwcHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgOHB4IDEwcHggMDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgaHRtbFtkaXI9cnRsXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfY2hlY2tib3ggbGksIGh0bWxbZGlyPXJ0bF0gLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfaGlkZV9hbXBtIGRpdi5nZmllbGRfdGltZV9hbXBtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQge1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNDQ0M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0MgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGgyLmdzZWN0aW9uX3RpdGxlIHtcbiAgICBtYXJnaW46IDEwcHggMTBweCAwIDhweCAhaW1wb3J0YW50OyB9XG4gIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgaDIuZ3NlY3Rpb25fdGl0bGUsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfZ2Vja28gLnRvcF9sYWJlbCBsaS5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBoMi5nc2VjdGlvbl90aXRsZSB7XG4gICAgbWFyZ2luOiAwIDEwcHggMCA4cHggIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCBsaSwgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCwgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxNnB4IDAgMTZweCAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSwgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCwgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxNnB4IDAgMThweCAzMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCwgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHVsIHtcbiAgICBtYXJnaW46IDE2cHggMCAxNnB4IDE4cHg7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCBsaSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIGRsIHtcbiAgICBtYXJnaW46IDAgMCAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBkbCBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBkbCBkZCB7XG4gICAgbWFyZ2luOiAwIDAgMTZweCAxOHB4OyB9XG4gIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ibHVlLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfZ3JheSwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2dyZWVuLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfcmVkLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfeWVsbG93IHtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luOiAyMHB4IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2dyZWVuIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTdCNDhBO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDQkVDQTA7XG4gICAgdGV4dC1zaGFkb3c6ICNERkIgMXB4IDFweDtcbiAgICBjb2xvcjogIzAzMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfcmVkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0ZBREIzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUYyRjU7XG4gICAgdGV4dC1zaGFkb3c6ICNGRkYgMXB4IDFweDtcbiAgICBjb2xvcjogIzgzMjUyNTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfeWVsbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTZEQjU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCQ0M7XG4gICAgdGV4dC1zaGFkb3c6ICNGQ0ZBRUEgMXB4IDFweDtcbiAgICBjb2xvcjogIzIyMjsgfVxuICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfZ3JheSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDQztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFO1xuICAgIHRleHQtc2hhZG93OiAjRkZGIDFweCAxcHg7XG4gICAgY29sb3I6ICM0MjQyNDI7IH1cbiAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2JsdWUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhN2MyZTc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QxRTRGMztcbiAgICB0ZXh0LXNoYWRvdzogI0UwRjFGRiAxcHggMXB4O1xuICAgIGNvbG9yOiAjMzE0NDc1OyB9XG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fc2ltcGxlX3llbGxvdyB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgcGFkZGluZzogMzJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQkNDO1xuICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3NpbXBsZV9ncmF5IHtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0NDQztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQztcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQUVBRUE7XG4gICAgY29sb3I6ICM0MjQyNDI7XG4gICAgZm9udC1zaXplOiAyNXB4OyB9XG4gIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25feWVsbG93X2dyYWRpZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkJEMjtcbiAgICBtYXJnaW46IDMwcHggMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTZEQjU1O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDIyMSwgMjE1LCAxMzEsIDAuNzUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDIyMSwgMjE1LCAxMzEsIDAuNzUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgyMjEsIDIxNSwgMTMxLCAwLjc1KTsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudCBkaXYuZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGRkY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgY29sb3I6ICM0MjQyNDI7XG4gICAgYmFja2dyb3VuZDogI2ZmZmNlNTtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZjZTUgMCwgI2ZmZjliZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNmZmZjZTUpLCBjb2xvci1zdG9wKDEwMCUsICNmZmY5YmYpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZjZTUgMCwgI2ZmZjliZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmY2U1IDAsICNmZmY5YmYgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZjZTUgMCwgI2ZmZjliZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmY2U1IDAsICNmZmY5YmYgMTAwJSk7IH1cbiAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWZjZGY7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2E3YzM3YztcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSg4NiwgMTIyLCA4NiwgMC40KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSg4NiwgMTIyLCA4NiwgMC40KTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoODYsIDEyMiwgODYsIDAuNCk7IH1cbiAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudCBkaXYuZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlZmZhZGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhN2MzN2M7XG4gICAgdGV4dC1zaGFkb3c6ICNERkIgMXB4IDFweDtcbiAgICBjb2xvcjogIzAzMDtcbiAgICBiYWNrZ3JvdW5kOiAjZGJmMmI3O1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2RiZjJiNyAwLCAjYjRkMDg4IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgI2RiZjJiNyksIGNvbG9yLXN0b3AoMTAwJSwgI2I0ZDA4OCkpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2RiZjJiNyAwLCAjYjRkMDg4IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNkYmYyYjcgMCwgI2I0ZDA4OCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2RiZjJiNyAwLCAjYjRkMDg4IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNkYmYyYjcgMCwgI2I0ZDA4OCAxMDAlKTsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX2dyZWVuX2dyYWRpZW50OmFmdGVyLCBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX2dyZWVuX2dyYWRpZW50OmJlZm9yZSwgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl95ZWxsb3dfZ3JhZGllbnQ6YWZ0ZXIsIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25feWVsbG93X2dyYWRpZW50OmJlZm9yZSB7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm90dG9tOiAxNXB4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0b3A6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDE1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDE1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYm94LXNoYWRvdzogMCAxNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTsgfVxuICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX2dyZWVuX2dyYWRpZW50OmFmdGVyLCBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudDphZnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICByaWdodDogMTBweDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5nZm9ybV93cmFwcGVyLmdmX3NpbXBsZV9ob3Jpem9udGFsX3dyYXBwZXIuY2VudGVyZWRfd3JhcHBlciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHksIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2lucHV0X2NvbnRhaW5lciwgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB1bCBsaS5nZmllbGQge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICBib2R5Om5vdChydGwpIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgLmdmaWVsZF9kZXNjcmlwdGlvbjpub3QoLnZhbGlkYXRpb25fbWVzc2FnZSksIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgLmdpbnB1dF9jb21wbGV4IGxhYmVsLCAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTkwMDBweDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbC5mb3JtX3N1YmxhYmVsX2Fib3ZlIGxpLmdmaWVsZCwgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwuZm9ybV9zdWJsYWJlbF9iZWxvdyBsaS5nZmllbGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIGlucHV0LmxhcmdlLCAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgaW5wdXQubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgaW5wdXQuc21hbGwsIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBzZWxlY3QubGFyZ2UsIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCBzZWxlY3QubWVkaXVtLCAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgc2VsZWN0LnNtYWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIGlucHV0W3R5cGU9c3VibWl0XSwgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCBpbnB1dFt0eXBlPWJ1dHRvbl0sIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwgaW5wdXRbdHlwZT1pbWFnZV0ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIC50b3BfbGFiZWwgLmdmaWVsZF9lcnJvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIHVsIGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bCBsaSwgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB1bCBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IC41ZW07IH1cbiAgaHRtbFtkaXI9cnRsXSAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzIgc3BhbiB7XG4gICAgd2lkdGg6IDQ4LjUlOyB9XG4gIGh0bWxbZGlyPXJ0bF0gLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18zIHNwYW4ge1xuICAgIHdpZHRoOiAzMyU7IH1cbiAgaHRtbFtkaXI9cnRsXSAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzQgc3BhbiB7XG4gICAgd2lkdGg6IDI0LjUlOyB9XG4gIGh0bWxbZGlyPXJ0bF0gLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc181IHNwYW4ge1xuICAgIHdpZHRoOiAxOS41JTsgfSB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfZm9ybV9jZW50ZXJfd3JhcHBlciB7XG4gIHBhZGRpbmc6IDE2cHggMCAxNnB4IDE2cHg7IH1cblxuLyogQlJPV1NFUlMgKi9cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5sZWZ0X2xhYmVsICNyZWNhcHRjaGFfYXJlYSAjcmVjYXB0Y2hhX3RhYmxlLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAucmlnaHRfbGFiZWwgI3JlY2FwdGNoYV9hcmVhICNyZWNhcHRjaGFfdGFibGUsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIC5sZWZ0X2xhYmVsICNyZWNhcHRjaGFfYXJlYSAjcmVjYXB0Y2hhX3RhYmxlLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSAucmlnaHRfbGFiZWwgI3JlY2FwdGNoYV9hcmVhICNyZWNhcHRjaGFfdGFibGUge1xuICBtYXJnaW4tbGVmdDogMzIlOyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHNlbGVjdFttdWx0aXBsZT1tdWx0aXBsZV0sIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIHNlbGVjdFttdWx0aXBsZT1tdWx0aXBsZV0ge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4uZW50cnkgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9zYWZhcmkgdWwgbGk6YWZ0ZXIsIC5lbnRyeSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSB1bCBsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiOyB9XG5cbi5lbnRyeSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSB1bCBsaTphZnRlciwgLmVudHJ5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsIGxpOmJlZm9yZSwgLmVudHJ5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfZ2Vja28gdWwgbGk6YWZ0ZXIsIC5lbnRyeSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2dlY2tvIHVsIGxpOmJlZm9yZSwgLmVudHJ5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgdWwgbGk6YWZ0ZXIsIC5lbnRyeSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIHVsIGxpOmJlZm9yZSwgLmVudHJ5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaXBob25lIHVsIGxpOmFmdGVyLCAuZW50cnkgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pcGhvbmUgdWwgbGk6YmVmb3JlLCAuZW50cnkgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl91bmtub3duIHVsIGxpOmFmdGVyLCAuZW50cnkgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl91bmtub3duIHVsIGxpOmJlZm9yZSwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgdWwgbGk6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsIGxpOmJlZm9yZSwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9nZWNrbyB1bCBsaTphZnRlciwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9nZWNrbyB1bCBsaTpiZWZvcmUsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgdWwgbGk6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgdWwgbGk6YmVmb3JlLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2lwaG9uZSB1bCBsaTphZnRlciwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pcGhvbmUgdWwgbGk6YmVmb3JlLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3Vua25vd24gdWwgbGk6YWZ0ZXIsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfdW5rbm93biB1bCBsaTpiZWZvcmUge1xuICBjb250ZW50OiBub25lOyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgI3JlY2FwdGNoYV93aWRnZXRfZGl2ICNyZWNhcHRjaGFfYXJlYSB7XG4gIHdpZHRoOiA5OSUgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0LCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSAuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXRvcDogNHB4OyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIGlucHV0LmJ1dHRvbi5nZm9ybV9idXR0b25fc2VsZWN0X2ZpbGVzLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSAud3AtYmxvY2stYnV0dG9uIGlucHV0Lmdmb3JtX2J1dHRvbl9zZWxlY3RfZmlsZXMud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIGlucHV0Lmdmb3JtX2J1dHRvbl9zZWxlY3RfZmlsZXMud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgcGFkZGluZzogNnB4IDEycHggIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3Qge1xuICBtYXgtd2lkdGg6IDVyZW0gIWltcG9ydGFudDtcbiAgd2lkdGg6IGNhbGMoMnJlbSArIDIwcHgpOyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHNlbGVjdCB7XG4gIHBhZGRpbmc6IDJweCAwIDJweCAzcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiA1cmVtICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBjYWxjKDNyZW0gKyAyMHB4KTsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyICNyZWNhcHRjaGFfd2lkZ2V0X2RpdiAjcmVjYXB0Y2hhX2FyZWEge1xuICB3aWR0aDogOTklICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2lucHV0X2NvbXBsZXggc2VsZWN0IHtcbiAgdGV4dC1pbmRlbnQ6IDJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIG1hcmdpbi10b3A6IDJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0LCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXRvcDogNnB4OyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgZGl2LmdpbnB1dF9jb21wbGV4IHNwYW4uZ2lucHV0X2xlZnQgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGRpdi5naW5wdXRfY29tcGxleCBzcGFuLmdpbnB1dF9yaWdodCBzZWxlY3QsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgaW5wdXRbdHlwZT1yYWRpb10sIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgc2VsZWN0IHtcbiAgbWFyZ2luLWxlZnQ6IDFweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIHNwYW4ubmFtZV9maXJzdCwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBzcGFuLm5hbWVfbGFzdCwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBzcGFuLm5hbWVfbWlkZGxlIHtcbiAgcGFkZGluZy10b3A6IDJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmhhc19maXJzdF9uYW1lLmhhc19taWRkbGVfbmFtZS5oYXNfbGFzdF9uYW1lIHNwYW4ubmFtZV9sYXN0LCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmhhc19maXJzdF9uYW1lLmhhc19taWRkbGVfbmFtZS5oYXNfbGFzdF9uYW1lIHNwYW4ubmFtZV9taWRkbGUge1xuICBtYXJnaW4tbGVmdDogMS4xJTsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX2Vycm9yIGlucHV0W3R5cGU9ZW1haWxdLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX2Vycm9yIGlucHV0W3R5cGU9bnVtYmVyXSwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPXBhc3N3b3JkXSwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPXRlbF0sIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT10ZXh0XSwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPXVybF0sIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfZXJyb3Igc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSBsaS5nZmllbGRfZXJyb3IuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb21wbGV4IGlucHV0W3R5cGU9dGV4dF0ge1xuICBtYXJnaW4tYm90dG9tOiAycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgaW5wdXQuYnV0dG9uLmdmb3JtX2J1dHRvbl9zZWxlY3RfZmlsZXMsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC53cC1ibG9jay1idXR0b24gaW5wdXQuZ2Zvcm1fYnV0dG9uX3NlbGVjdF9maWxlcy53cC1ibG9jay1idXR0b25fX2xpbmssIC53cC1ibG9jay1idXR0b24gLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgaW5wdXQuZ2Zvcm1fYnV0dG9uX3NlbGVjdF9maWxlcy53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBwYWRkaW5nOiA2cHggMTJweCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHNwYW4uYWRkcmVzc19jb3VudHJ5IHtcbiAgbWFyZ2luLXRvcDogLTJweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2dlY2tvIHNlbGVjdCB7XG4gIHBhZGRpbmc6IDJweCAxMnB4IDJweCAycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9nZWNrbyAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3Qge1xuICBtYXgtd2lkdGg6IDVyZW0gIWltcG9ydGFudDtcbiAgd2lkdGg6IGNhbGMoNHJlbSArIDI1cHgpOyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfZ2Vja28gLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fbGVmdCBzZWxlY3QuZ2lucHV0X2NhcmRfZXhwaXJhdGlvbi5naW5wdXRfY2FyZF9leHBpcmF0aW9uX21vbnRoIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cblxuLmdmb3JtX3dyYXBwZXJnZl9icm93c2VyX2dlY2tvIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSB7XG4gIGhlaWdodDogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDIuNDsgfVxuXG4uZ2Zvcm1fd3JhcHBlcmdmX2Jyb3dzZXJfZ2Vja28gLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDVweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5nZmllbGRfdGltZV9ob3VyIHtcbiAgd2lkdGg6IDgwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2ZpZWxkX3RpbWVfbWludXRlIHtcbiAgd2lkdGg6IDcwcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2ZpZWxkX3RpbWVfYW1wbSB7XG4gIHBhZGRpbmctdG9wOiAycHg7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2ZpZWxkX3RpbWVfaG91ciBpbnB1dCwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2ZpZWxkX3RpbWVfbWludXRlIGlucHV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0IGxhYmVsLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IGxhYmVsIHtcbiAgbWFyZ2luOiAzcHggMCA1cHg7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2Zvcm1fZm9vdGVyIC53cC1ibG9jay1idXR0b24gaW5wdXQud3AtYmxvY2stYnV0dG9uX19saW5rLCAud3AtYmxvY2stYnV0dG9uIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdmb3JtX2Zvb3RlciBpbnB1dC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBwYWRkaW5nOiAzcHg7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSB1bC50b3BfbGFiZWwgLmNsZWFyLW11bHRpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXQsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQgc2VsZWN0LCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IHNlbGVjdCB7XG4gIHBhZGRpbmc6IDJweCAwOyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciAjcmVjYXB0Y2hhX3dpZGdldF9kaXYgI3JlY2FwdGNoYV9hcmVhIHtcbiAgd2lkdGg6IDk5JSAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmxlZnRfbGFiZWwgI3JlY2FwdGNoYV9hcmVhICNyZWNhcHRjaGFfdGFibGUsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLnJpZ2h0X2xhYmVsICNyZWNhcHRjaGFfYXJlYSAjcmVjYXB0Y2hhX3RhYmxlIHtcbiAgbWFyZ2luLWxlZnQ6IDMyJTsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX3JpZ2h0IHNwYW4uZ2lucHV0X2NhcmRfc2VjdXJpdHlfY29kZV9pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIGxlZnQ6IDRweDsgfVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIGltZy5hZGRfbGlzdF9pdGVtLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIGltZy5kZWxldGVfbGlzdF9pdGVtIHtcbiAgd2lkdGg6IDE2cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4ICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDFweCkge1xuICAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfZ2Vja28gLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlLCAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUge1xuICAgIGhlaWdodDogNDRweDtcbiAgICBsaW5lLWhlaWdodDogMy4yOyB9XG4gIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiwgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9nZWNrbyAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIsIC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUlKTsgfSB9XG5cbi8qIEZPUk0gUkVTRVQgKi9cbmJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGJ1dHRvbiwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGNhcHRpb24sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBkaXYsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBmaWVsZHNldCwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGZvcm0sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBoMSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGgyLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaDMsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBoNCwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGg1LCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaDYsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpZnJhbWUsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbWcsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPWJ1dHRvbl0sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPWVtYWlsXSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9aW1hZ2VdLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT1udW1iZXJdLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT1wYXNzd29yZF0sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPXN1Ym1pdF0sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPXRlbF0sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPXRleHRdLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT11cmxdLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgbGFiZWwsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBsZWdlbmQsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBsaSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIG9sLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgcCwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHNlbGVjdCwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHNwYW4sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0YWJsZSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRib2R5LCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdGQsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0ZXh0YXJlYSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRmb290LCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdGgsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0aGVhZCwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRyLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgYnV0dG9uLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgY2FwdGlvbiwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGRpdiwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGZpZWxkc2V0LCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgZm9ybSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlmcmFtZSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGltZywgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9YnV0dG9uXSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9ZW1haWxdLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT1pbWFnZV0sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPW51bWJlcl0sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPXBhc3N3b3JkXSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9c3VibWl0XSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9dGVsXSwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9dGV4dF0sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPXVybF0sIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBsYWJlbCwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGxlZ2VuZCwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGxpLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgb2wsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBwLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgc2VsZWN0LCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgc3BhbiwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRhYmxlLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdGJvZHksIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0ZCwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRleHRhcmVhLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdGZvb3QsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0aCwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRoZWFkLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdHIsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB1bCB7XG4gIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGRpdiwgYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHAsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDEuODsgfVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgZmllbGRzZXQsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbWcge1xuICBib3JkZXI6IDA7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGxpLCBib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgb2wsIGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGEgaW1nIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciA6Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG5cbiN3cGFkbWluYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuYm9keS5hZG1pbi1iYXIuZi10b3BiYXItZml4ZWQgLnN0aWNreS5maXhlZCB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICB0b3A6IDIuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4LjkzNzVlbSkge1xuICAgIGJvZHkuYWRtaW4tYmFyLm9mZmNhbnZhcyAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICAgIHRvcDogMnJlbTsgfSB9XG5cbi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7IH1cblxucC53cC1jYXB0aW9uLXRleHQge1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICM2NjY7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5nYWxsZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0xID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0yID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtMiA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTMgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy0zID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNCA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTQgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy01ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTYgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy02ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy02ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtNyA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTcgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5LmdhbGxlcnktY29sdW1ucy04ID4gLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOCA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuZ2FsbGVyeS5nYWxsZXJ5LWNvbHVtbnMtOSA+IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTkgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdhbGxlcnkuZ2FsbGVyeS1jb2x1bW5zLTkgPiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDExLjExMTExJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgYm9yZGVyOiBzb2xpZCA0cHggI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICAgIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBhOmhvdmVyLCAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYTpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIxMSwgMTgxLCAxMzEsIDAuNSk7IH1cbiAgICAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uID4gYSBpbWFnZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC5nYWxsZXJ5IC5nYWxsZXJ5LWljb24gPiBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXI6IHNvbGlkIDRweCAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG4vKlxuRnJvbnRlbmQgc3R5bGVzIGZvciBndXRlbmJlcmcgYmxvY2tzXG4qL1xuLyoqID09PSBCYXNlIENvbG9yIFBhbGF0dGUgPT09ICovXG4uaGFzLXByaW1hcnktYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEM0I1ODM7IH1cblxuLmhhcy1wcmltYXJ5LWNvbG9yIHtcbiAgY29sb3I6ICNEM0I1ODM7IH1cblxuLmhhcy1zZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cblxuLmhhcy1zZWNvbmRhcnktY29sb3Ige1xuICBjb2xvcjogIzc2NzY3NjsgfVxuXG4uaGFzLXN1Y2Nlc3MtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyQTdFNjc7IH1cblxuLmhhcy1zdWNjZXNzLWNvbG9yIHtcbiAgY29sb3I6ICMyQTdFNjc7IH1cblxuLmhhcy13YXJuaW5nLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG5cbi5oYXMtd2FybmluZy1jb2xvciB7XG4gIGNvbG9yOiAjZmZhZTAwOyB9XG5cbi5oYXMtYWxlcnQtYmFja2dyb3VuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMzAwMzE7IH1cblxuLmhhcy1hbGVydC1jb2xvciB7XG4gIGNvbG9yOiAjZDMwMDMxOyB9XG5cbi8qKiA9PT0gQnV0dG9uID09PSAqL1xuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLmhhcy1wcmltYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDNCNTgzOyB9XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtcHJpbWFyeS1jb2xvciB7XG4gIGNvbG9yOiAjRDNCNTgzOyB9XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2OyB9XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtc2Vjb25kYXJ5LWNvbG9yIHtcbiAgY29sb3I6ICM3Njc2NzY7IH1cblxuLndwLWJsb2NrLWJ1dHRvbiAud3AtYmxvY2stYnV0dG9uX19saW5rLmhhcy1zdWNjZXNzLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkE3RTY3OyB9XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtc3VjY2Vzcy1jb2xvciB7XG4gIGNvbG9yOiAjMkE3RTY3OyB9XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtd2FybmluZy1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLXdhcm5pbmctY29sb3Ige1xuICBjb2xvcjogI2ZmYWUwMDsgfVxuXG4ud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsuaGFzLWFsZXJ0LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDMwMDMxOyB9XG5cbi53cC1ibG9jay1idXR0b24gLndwLWJsb2NrLWJ1dHRvbl9fbGluay5oYXMtYWxlcnQtY29sb3Ige1xuICBjb2xvcjogI2QzMDAzMTsgfVxuXG4ud3AtYmxvY2stYnV0dG9uLmlzLXN0eWxlLXNxdWFyZWQgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLyoqID09PSBGaWxlID09PSAqL1xuLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEM0I1ODM7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAud3AtYmxvY2stZmlsZSAud3AtYmxvY2stZmlsZV9fYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b246aG92ZXIsIC53cC1ibG9jay1maWxlIC53cC1ibG9jay1maWxlX19idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjllNWQ7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEFzeW5jIE1lZGlhIExvYWRcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udmlkZW8tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjsgfVxuXG4vKiBsaW5lIDExLCAuLi9zY3NzL2FzeW5jLnNjc3MgKi9cbi52aWRlb2xvYWRlciwgLnZpZGVvLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udmlkZW8tbG9hZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4udmlkZW8tcGxheSB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogNjVweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogMTA4cHg7XG4gIGhlaWdodDogMTA4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zM3B4O1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy90aGVtZS9wbGF5LnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0OyB9XG5cbi52aWRlby1zY3JpbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYyLCA2MiwgNjIsIDAuMzUpOyB9XG5cbi8qLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGYW5jeWJveCBDU1Ncbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiEgZmFuY3lCb3ggdjIuMS41IGZhbmN5YXBwcy5jb20gfCBmYW5jeWFwcHMuY29tL2ZhbmN5Ym94LyNsaWNlbnNlICovXG4uZmFuY3lib3gtd3JhcCxcbi5mYW5jeWJveC1za2luLFxuLmZhbmN5Ym94LW91dGVyLFxuLmZhbmN5Ym94LWlubmVyLFxuLmZhbmN5Ym94LWltYWdlLFxuLmZhbmN5Ym94LXdyYXAgaWZyYW1lLFxuLmZhbmN5Ym94LXdyYXAgb2JqZWN0LFxuLmZhbmN5Ym94LW5hdixcbi5mYW5jeWJveC1uYXYgc3Bhbixcbi5mYW5jeWJveC10bXAge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uZmFuY3lib3gtd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA4MDIwOyB9XG5cbi5mYW5jeWJveC1za2luIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICBjb2xvcjogIzQ0NDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG5cbi5mYW5jeWJveC1vcGVuZWQge1xuICB6LWluZGV4OiA4MDMwOyB9XG5cbi5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXNraW4ge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4uZmFuY3lib3gtb3V0ZXIsIC5mYW5jeWJveC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZmFuY3lib3gtaW5uZXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC10eXBlLWlmcmFtZSAuZmFuY3lib3gtaW5uZXIge1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLmZhbmN5Ym94LWVycm9yIHtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQ6IDE0cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTVweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZmFuY3lib3gtaW1hZ2UsIC5mYW5jeWJveC1pZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZmFuY3lib3gtaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cblxuI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90aGVtZS9mYW5jeWJveF9zcHJpdGUucG5nXCIpOyB9XG5cbiNmYW5jeWJveC1sb2FkaW5nIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMjJweDtcbiAgbWFyZ2luLWxlZnQ6IC0yMnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMDhweDtcbiAgb3BhY2l0eTogMC44O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDgwNjA7IH1cblxuI2ZhbmN5Ym94LWxvYWRpbmcgZGl2IHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3RoZW1lL2ZhbmN5Ym94X2xvYWRpbmcuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0OyB9XG5cbi5mYW5jeWJveC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMThweDtcbiAgcmlnaHQ6IC0xOHB4O1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDgwNDA7IH1cblxuLmZhbmN5Ym94LW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogNDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvdGhlbWUvYmxhbmsuZ2lmXCIpO1xuICAvKiBoZWxwcyBJRSAqL1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHotaW5kZXg6IDgwNDA7IH1cblxuLmZhbmN5Ym94LXByZXYge1xuICBsZWZ0OiAwOyB9XG5cbi5mYW5jeWJveC1uZXh0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLmZhbmN5Ym94LW5hdiBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzRweDtcbiAgbWFyZ2luLXRvcDogLTE4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogODA0MDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1wcmV2IHNwYW4ge1xuICBsZWZ0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNnB4OyB9XG5cbi5mYW5jeWJveC1uZXh0IHNwYW4ge1xuICByaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDsgfVxuXG4uZmFuY3lib3gtbmF2OmhvdmVyIHNwYW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5mYW5jeWJveC10bXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTk5cHg7XG4gIGxlZnQ6IC05OTk5OXB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1heC13aWR0aDogOTk5OTlweDtcbiAgbWF4LWhlaWdodDogOTk5OTlweDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4vKiBPdmVybGF5IGhlbHBlciAqL1xuLmZhbmN5Ym94LWxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5mYW5jeWJveC1sb2NrIGJvZHkge1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuLmZhbmN5Ym94LWxvY2stdGVzdCB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbi5mYW5jeWJveC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDgwMTAwMDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3RoZW1lL2ZhbmN5Ym94X292ZXJsYXkucG5nXCIpOyB9XG5cbi5mYW5jeWJveC1vdmVybGF5LWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi5mYW5jeWJveC1sb2NrIC5mYW5jeWJveC1vdmVybGF5IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4vKiBUaXRsZSBoZWxwZXIgKi9cbi5mYW5jeWJveC10aXRsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZm9udDogbm9ybWFsIDEzcHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHotaW5kZXg6IDgwNTA7IH1cblxuLmZhbmN5Ym94LW9wZW5lZCAuZmFuY3lib3gtdGl0bGUge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5mYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiA1MCU7XG4gIG1hcmdpbi1ib3R0b206IC0zNXB4O1xuICB6LWluZGV4OiA4MDUwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZhbmN5Ym94LXRpdGxlLWZsb2F0LXdyYXAgLmNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICBwYWRkaW5nOiAycHggMjBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC8qIEZhbGxiYWNrIGZvciB3ZWIgYnJvd3NlcnMgdGhhdCBkb2Vzbid0IHN1cHBvcnQgUkdCYSAqL1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTVweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4ICMyMjI7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmZhbmN5Ym94LXRpdGxlLW91dHNpZGUtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmZhbmN5Ym94LXRpdGxlLWluc2lkZS13cmFwIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuLmZhbmN5Ym94LXRpdGxlLW92ZXItd3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi8qUmV0aW5hIGdyYXBoaWNzISovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSkge1xuICAjZmFuY3lib3gtbG9hZGluZywgLmZhbmN5Ym94LWNsb3NlLCAuZmFuY3lib3gtcHJldiBzcGFuLCAuZmFuY3lib3gtbmV4dCBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdGhlbWUvZmFuY3lib3hfc3ByaXRlQDJ4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQ0cHggMTUycHg7XG4gICAgLypUaGUgc2l6ZSBvZiB0aGUgbm9ybWFsIGltYWdlLCBoYWxmIHRoZSBzaXplIG9mIHRoZSBoaS1yZXMgaW1hZ2UqLyB9XG4gICNmYW5jeWJveC1sb2FkaW5nIGRpdiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3RoZW1lL2ZhbmN5Ym94X2xvYWRpbmdAMnguZ2lmXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAyNHB4O1xuICAgIC8qVGhlIHNpemUgb2YgdGhlIG5vcm1hbCBpbWFnZSwgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgaGktcmVzIGltYWdlKi8gfSB9XG5cbi8qLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGYW5jeWJveCBQbGF5dXNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmFuY3lib3gtb3BlbmVkIC5mYW5jeWJveC1za2luIHtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uZmFuY3lib3gtbmF2IHNwYW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLmZhbmN5Ym94LW5leHQgc3BhbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdGhlbWUvZGVyZWNoYS5zdmcpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSAhaW1wb3J0YW50O1xuICByaWdodDogLTE0JSAhaW1wb3J0YW50O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4OyB9XG5cbi5mYW5jeWJveC1wcmV2IHNwYW4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3RoZW1lL2l6cXVpZXJkYS5zdmcpICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiAtMTQlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cblxuLmZhbmN5Ym94LWNsb3NlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy90aGVtZS9jZXJyYXIuc3ZnKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgdG9wOiAtMzVweDtcbiAgcmlnaHQ6IC01JTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmZhbmN5Ym94LWNsb3NlIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4OyB9XG4gIC5mYW5jeWJveC1uZXh0IHNwYW4ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gICAgcmlnaHQ6IC0xMiUgIWltcG9ydGFudDsgfVxuICAuZmFuY3lib3gtcHJldiBzcGFuIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgIGxlZnQ6IC0xMiUgIWltcG9ydGFudDsgfSB9XG5cbi8qLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBPd2wgQ2Fyb3VzZWwgQ1NTXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBPd2wgQ2Fyb3VzZWwgdjIuMy40XG4gKiBDb3B5cmlnaHQgMjAxMy0yMDE4IERhdmlkIERldXRzY2hcbiAqIExpY2Vuc2VkIHVuZGVyOiBTRUUgTElDRU5TRSBJTiBodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi8gfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBoZWlnaHQ6IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyLFxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBmbG9hdDogbGVmdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCxcbi5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldixcbi5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LFxuLm93bC1jYXJvdXNlbCAub3dsLWRvdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG4ub3dsLWNhcm91c2VsIGJ1dHRvbi5vd2wtZG90IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBmb250OiBpbmhlcml0OyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcge1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWRyYWcgLm93bC1pdGVtIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtZ3JhYiB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0ge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4qL1xuLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuICB6LWluZGV4OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXQge1xuICB6LWluZGV4OiAxOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cbi5vd2wtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAvKipcblx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHQqLyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSkge1xuICBtYXgtaGVpZ2h0OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eSB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4ge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogT3dsIENhcm91c2VsIFBsYXl1c1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5wcmluY2lwYWwgLm93bC1jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBib3R0b206IDRyZW0gIWltcG9ydGFudDtcbiAgbGVmdDogMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cblxuLm93bC10YWJzIC5vd2wtY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgbGVmdDogMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cblxuLm93bC1jb250cm9scyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLm93bC1jb250cm9scyBpbWcge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLm93bC1wcmV2IHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5vd2wtbmV4dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLm93bC1kb3RzIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm93bC1kb3Qge1xuICB3aWR0aDogMiU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLm93bC1kb3Qge1xuICAgIHdpZHRoOiA1JTsgfSB9XG5cbi5vd2wtZG90IHNwYW4ge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNTtcbiAgaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5vd2wtZG90LmFjdGl2ZSBzcGFuIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTBweCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTBweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4ub3dsLWl0ZW0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi8qQXJyZWdsYXIgZXNwYWNpbyBibGFuY28gZW50cmUgaXRlbXMgKE1vdmVyIGRlIGFxdWkgeSBhZ3JlZ2FyIGVzdG8gYWwgZmluYWwgZGVsIGNzcyBkZSBvd2wgY2Fyb3VzZWwpICovXG4vKi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyovXG4uc2FpbC1zbGlkZS1wcGFsIC5vd2wtZG90cyB7XG4gIG1hcmdpbi10b3A6IC01MHB4OyB9XG5cbi5vd2wtdGFicyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAub3dsLXRhYnMgLm93bC1uYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMThweCk7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAub3dsLXRhYnMgLm93bC1uYXYgYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCAxNXB4OyB9XG4gICAgICAub3dsLXRhYnMgLm93bC1uYXYgYnV0dG9uIC5vd2wtbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBHcmF2aXR5IEZvcm1zIENvbnRhY3QgUHJvcGVydHkgYW5kIENhcmVlcnNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4jZ2Zvcm1fd3JhcHBlcl8xIHtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgd2lkdGg6IDgwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5nZm9ybV9ib2R5IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmdmb3JtX2hlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbiNnZm9ybV93cmFwcGVyXzEgZm9ybSBsYWJlbCB7XG4gIGNvbG9yOiAjNEQ0QzREO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBmb250LWZhbWlseTogJ1JvYm90byBMaWdodCc7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2dmb3JtX3dyYXBwZXJfMSBmb3JtIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzY5NzE3NztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjNEQ0QzREO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBmb250LWZhbWlseTogJ1JvYm90byBMaWdodCc7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuI2dmb3JtX3dyYXBwZXJfMSBmb3JtIHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2OTcxNzc7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICM0RDRDNEQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgcGFkZGluZzogMTBweCA4cHg7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuI2dmb3JtX3dyYXBwZXJfMSBmb3JtIC5nZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMHB4OyB9XG5cbiNnZm9ybV93cmFwcGVyXzEgZm9ybSAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8xIGZvcm0gLmdpbnB1dF9jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuI2dmb3JtX3dyYXBwZXJfMSBmb3JtIC5nZm9ybV9ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbiNnZm9ybV93cmFwcGVyXzEgZm9ybSAuZ2Zvcm1fZm9vdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDBweDtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8xIGZvcm0gLmdmb3JtX2Zvb3RlciBidXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuI2dmb3JtX3dyYXBwZXJfMSBmb3JtICNpbnB1dF8yXzQge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiNnZm9ybV93cmFwcGVyXzEgZm9ybSAjaW5wdXRfNV80IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8xIGZvcm0gLmdmaWVsZF9lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8xIGZvcm0gLnZhbGlkYXRpb25fZXJyb3Ige1xuICB3aWR0aDogNzUlO1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItY29sb3I6ICM2OTcxNzc7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgY29sb3I6ICNjZjBhMmM7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbiNnZm9ybV93cmFwcGVyXzEgZm9ybSAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgbWFyZ2luOiAwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMXB4O1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBjb2xvcjogI2NmMGEyYzsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8xICNnZm9ybV9zdWJtaXRfYnV0dG9uXzEge1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0JBNzVFO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnO1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuI2dmb3JtX3dyYXBwZXJfMiB7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIHdpZHRoOiA4MCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uZ2Zvcm1fYm9keSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5nZm9ybV9oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gbGFiZWwge1xuICBjb2xvcjogIzRENEM0RDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNnZm9ybV93cmFwcGVyXzIgZm9ybSBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2OTcxNzc7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzRENEM0RDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnO1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbiNnZm9ybV93cmFwcGVyXzIgZm9ybSB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjk3MTc3O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjNEQ0QzREO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBmb250LWZhbWlseTogJ1JvYm90byBMaWdodCc7XG4gIHBhZGRpbmc6IDEwcHggOHB4O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbiNnZm9ybV93cmFwcGVyXzIgZm9ybSAuZ2ZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDBweDsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gLmdmaWVsZF9yZXF1aXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2dmb3JtX3dyYXBwZXJfMiBmb3JtIC5naW5wdXRfY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbiNnZm9ybV93cmFwcGVyXzIgZm9ybSAuZ2Zvcm1fYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gLmdmb3JtX2Zvb3RlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwcHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuI2dmb3JtX3dyYXBwZXJfMiBmb3JtIC5nZm9ybV9mb290ZXIgYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbiNnZm9ybV93cmFwcGVyXzIgZm9ybSAjaW5wdXRfMl80IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gI2lucHV0XzVfNCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuI2dmb3JtX3dyYXBwZXJfMiBmb3JtIC5nZmllbGRfZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IG5vbmU7IH1cblxuI2dmb3JtX3dyYXBwZXJfMiBmb3JtIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgd2lkdGg6IDc1JTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjNjk3MTc3O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBmb250LWZhbWlseTogJ1JvYm90byBMaWdodCc7XG4gIGNvbG9yOiAjY2YwYTJjO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4jZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIG1hcmdpbjogMHB4O1xuICBtYXJnaW4tbGVmdDogMTFweDtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgY29sb3I6ICNjZjBhMmM7IH1cblxuI2dmb3JtX3dyYXBwZXJfMiAjZ2Zvcm1fc3VibWl0X2J1dHRvbl8yIHtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NCQTc1RTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgd2lkdGg6IDgwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGNvbG9yOiAjNjk3MTc3OyB9XG5cbi5vdHJvLWNvcnJlbyB7XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG5cbi8qLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi9cbi8qISBqUXVlcnkgVUkgLSB2MS4xMi4xIC0gMjAxNi0xMS0wN1xuKiBodHRwOi8vanF1ZXJ5dWkuY29tXG4qIEluY2x1ZGVzOiBjb3JlLmNzcywgdGFicy5jc3NcbiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqL1xuLnVpLWhlbHBlci1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4udWktaGVscGVyLXJlc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi51aS1oZWxwZXItY2xlYXJmaXg6YmVmb3JlLCAudWktaGVscGVyLWNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxuLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi51aS1oZWxwZXItemZpeCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICBmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MCk7IH1cblxuLnVpLWZyb250IHtcbiAgei1pbmRleDogMTAwOyB9XG5cbi51aS1zdGF0ZS1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4udWktaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXRvcDogLS4yNWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtaW5kZW50OiAtOTk5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4udWktd2lkZ2V0LWljb24tYmxvY2sge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4udWktdGFicyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogLjJlbTsgfVxuXG4udWktdGFicyAudWktdGFicy1uYXYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IC4yZW0gLjJlbSAwOyB9XG5cbi51aS10YWJzIC51aS10YWJzLW5hdiBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbWFyZ2luOiAxcHggLjJlbSAwIDA7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IC51aS10YWJzLWFuY2hvciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAuNWVtIDFlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSB7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxcHg7IH1cblxuLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvciwgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXN0YXRlLWRpc2FibGVkIC51aS10YWJzLWFuY2hvciwgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtbG9hZGluZyAudWktdGFicy1hbmNob3Ige1xuICBjdXJzb3I6IHRleHQ7IH1cblxuLnVpLXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4udWktdGFicyAudWktdGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIHBhZGRpbmc6IDFlbSAxLjRlbTtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubW9iaWxlLW1lbnUsXG4gIC5zaXRlLXRpdGxlLWJhciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuZGVza3RvcC1tZW51LFxuICAuc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLWxlZnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaXRlLWRlc2t0b3AtdGl0bGUgYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5wb3N0LW5hdmlnYXRpb246OmJlZm9yZSwgLnBvc3QtbmF2aWdhdGlvbjo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4ucG9zdC1uYXZpZ2F0aW9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5uYXYtcHJldmlvdXMge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ubmF2LW5leHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzJDNDU2MjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyQzQ1NjIsICM4Mjc5NzgpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMkM0NTYyLCAjODI3OTc4KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzJDNDU2MiwgIzgyNzk3OCk7XG4gIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5zaXRlLWhlYWRlciBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuc2l0ZS1oZWFkZXIgLmhlYWQtcGhvbmUsIC5zaXRlLWhlYWRlciAuaGVhZC1tYWlsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5zaXRlLWhlYWRlciAuaGVhZC1waG9uZSBzcGFuIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRkZGRkZGOyB9XG5cbi5oZWFkcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbiNzZWFyY2gtYm94LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMDtcbiAgd2lkdGg6IDQwJTsgfVxuICAjc2VhcmNoLWJveC13cmFwcGVyICNzIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAjc2VhcmNoLWJveC13cmFwcGVyICNzOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjc2VhcmNoLWJveC13cmFwcGVyIC5zdWJtaXQtYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgI3NlYXJjaC1ib3gtd3JhcHBlciBpbnB1dC5zYi1zdWJtaXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZDMwMDMxIHVybCguLi9pbWFnZXMvdGhlbWUvbWFnbmlmeWluZy1pY29uLnBuZykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbi50b3AtYmFyIC5tZW51IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4udG9wLWJhciAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMi4xODc1cmVtIDAuNjI1cmVtIDIuMTg3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5hbGlnbi1zbWFsbC1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7IH0gfVxuXG4ubW9iaWxlLW9mZi1jYW52YXMtbWVudSB7XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIC5tb2JpbGUtb2ZmLWNhbnZhcy1tZW51IC5tZW51IGEge1xuICAgIGNvbG9yOiAjQTRBQUIwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLm1haW4tY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLm1haW4tZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFpbi1ncmlkIHtcbiAgICAgIG1hcmdpbi10b3A6IDNyZW07IH0gfVxuICAubWFpbi1ncmlkLnNpZGViYXItbGVmdCAubWFpbi1jb250ZW50IHtcbiAgICBvcmRlcjogMTsgfVxuICAubWFpbi1ncmlkLnNpZGViYXItbGVmdCAuc2lkZWJhciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWFpbi1ncmlkLnNpZGViYXItbGVmdCAubWFpbi1jb250ZW50IHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLm1haW4tZ3JpZC5zaWRlYmFyLWxlZnQgLnNpZGViYXIge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICAubWFpbi1ncmlkIC5tYWluLWNvbnRlbnQtZnVsbC13aWR0aCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5tYWluLWdyaWQgLm1haW4tY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tYWluLWdyaWQgLm1haW4tY29udGVudCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAubWFpbi1ncmlkIC5zaWRlYmFyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1haW4tZ3JpZCAuc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICM0ODU1NjA7IH1cbiAgLmZvb3Rlci1jb250YWluZXIgLmNvcHlyaWdodCB7XG4gICAgY29sb3I6ICNBNEFBQjA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9XG5cbi5zb2NpYWwtaW1nIHtcbiAgbWFyZ2luOiAxLjg3NXJlbSAwLjE4NzVyZW07IH1cbiAgLnNvY2lhbC1pbWcgYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuc29jaWFsLWltZyAuaWNvbi1zb2NpYWwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdGhlbWUvc21pLnBuZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB3aWR0aDogMS43NXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc29jaWFsLWltZyAuaWNvbi1zb2NpYWwuaWZhY2Vib29rIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgIC5zb2NpYWwtaW1nIC5pY29uLXNvY2lhbC5pdHdpdHRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMi4xODc1cmVtIDA7IH1cbiAgICAuc29jaWFsLWltZyAuaWNvbi1zb2NpYWwuaXlvdXR1YmUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQuMzc1cmVtIDA7IH1cbiAgICAuc29jaWFsLWltZyAuaWNvbi1zb2NpYWwuaWxpbmtlZGluIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02LjU2MjVyZW0gMDsgfVxuICAgIC5zb2NpYWwtaW1nIC5pY29uLXNvY2lhbC5pcGludGVyZXN0IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMC44MTI1cmVtIDA7IH1cblxuLmZvb3Rlci1tZW51IHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmZvb3Rlci1tZW51IGxpIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNBNEFBQjA7XG4gICAgbGluZS1oZWlnaHQ6IDEwcHg7IH1cbiAgICAuZm9vdGVyLW1lbnUgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cbiAgLmZvb3Rlci1tZW51IGEge1xuICAgIGNvbG9yOiAjQTRBQUIwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMC42ODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTsgfVxuXG5ib2R5I3RpbnltY2Uge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogNzVyZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuXG4uc2l0ZXMtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI0QzQjU4MztcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uY2FyZHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIC5jYXJkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY2FyZHMtY29udGFpbmVyIC5jYXJkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC43cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjM1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNXJlbTsgfSB9XG5cbi5mZWF0dXJlZC1oZXJvIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDYuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZmVhdHVyZWQtaGVybyB7XG4gICAgICBoZWlnaHQ6IDEyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmZlYXR1cmVkLWhlcm8ge1xuICAgICAgaGVpZ2h0OiAyNXJlbTsgfSB9XG5cbi5kb3R0ZWQsIC5zZWN0aW9uLWRpdmlkZXIgaHIge1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgbWFyZ2luOiAycmVtIDA7IH1cblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzIFtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIGE6Zm9jdXMsIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZyb250LWhlcm8ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1zbWFsbC5zdmdcIikgYm90dG9tIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICBwYWRkaW5nOiA0LjA2MjVyZW0gMDtcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZyb250LWhlcm8gLm1hcmtldGluZyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDU1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAubWFya2V0aW5nIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZyb250LWhlcm8ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2RlbW8vaGVyby1iZy1mb3VuZGF0aW9uLTYtbGFyZ2Uuc3ZnXCIpIGJvdHRvbSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgaGVpZ2h0OiA0Mi44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgNC41cmVtOyB9IH1cbiAgLmZyb250LWhlcm8gLndhdGNoIHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyAud2F0Y2gge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGEge1xuICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLmZyb250LWhlcm8gLndhdGNoIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3N0YXJnYXplcnMgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICAuZnJvbnQtaGVybyAud2F0Y2ggI3R3aXR0ZXIgOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5OVwiO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiAjQjRDOUQxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgLmZyb250LWhlcm8gLnRhZ2xpbmUge1xuICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mcm9udC1oZXJvIC50YWdsaW5lIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDZyZW07IH0gfVxuICAuZnJvbnQtaGVybyBoMSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDIuMnJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnJvbnQtaGVybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07IH0gfVxuICAuZnJvbnQtaGVybyBoNCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICAuZnJvbnQtaGVybyAuZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLmludHJvIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmludHJvIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmludHJvIC5mcC1pbnRybyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5pbnRybyAuZnAtaW50cm8ge1xuICAgICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuNjI1cmVtKTsgfVxuICAgICAgICAuaW50cm8gLmZwLWludHJvIGgyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgICAgICAuaW50cm8gLmZwLWludHJvIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfSB9XG5cbi5zZWN0aW9uLWRpdmlkZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2VjdGlvbi1kaXZpZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLnNlY3Rpb24tZGl2aWRlciBociB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmJlbmVmaXRzIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmVuZWZpdHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuYmVuZWZpdHMgaGVhZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAuYmVuZWZpdHMgaGVhZGVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgLmJlbmVmaXRzIC5zZW1hbnRpYyxcbiAgLmJlbmVmaXRzIC5yZXNwb25zaXZlLFxuICAuYmVuZWZpdHMgLmN1c3RvbWl6YWJsZSxcbiAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYmVuZWZpdHMgLnNlbWFudGljLFxuICAgICAgLmJlbmVmaXRzIC5yZXNwb25zaXZlLFxuICAgICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUsXG4gICAgICAuYmVuZWZpdHMgLnByb2Zlc3Npb25hbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5iZW5lZml0cyAuc2VtYW50aWMgaW1nLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBpbWcsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgaW1nLFxuICAgIC5iZW5lZml0cyAucHJvZmVzc2lvbmFsIGltZyB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMCBhdXRvOyB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBoMyxcbiAgICAuYmVuZWZpdHMgLnJlc3BvbnNpdmUgaDMsXG4gICAgLmJlbmVmaXRzIC5jdXN0b21pemFibGUgaDMsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgaDMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9XG4gICAgLmJlbmVmaXRzIC5zZW1hbnRpYyBwLFxuICAgIC5iZW5lZml0cyAucmVzcG9uc2l2ZSBwLFxuICAgIC5iZW5lZml0cyAuY3VzdG9taXphYmxlIHAsXG4gICAgLmJlbmVmaXRzIC5wcm9mZXNzaW9uYWwgcCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYmVuZWZpdHMgLndoeS1mb3VuZGF0aW9uIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgbWFyZ2luLXRvcDogNHJlbTsgfVxuXG4ua2l0Y2hlbi1zaW5rLWhlYWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5raXRjaGVuLXNpbmstY29tcG9uZW50cyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5raXRjaGVuLXNpbmstY29tcG9uZW50cyBociB7XG4gICAgbWFyZ2luOiAzcmVtIDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAua2l0Y2hlbi1zaW5rLWNvbXBvbmVudHMge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmtpdGNoZW4tc2luay1uYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmtpdGNoZW4tc2luay1uYXYge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5raXRjaGVuLXNpbmstbmF2IC5kb2NzLXN1Yi1tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gICAgICAua2l0Y2hlbi1zaW5rLW5hdiAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogIzhhOGE4YTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NhY2FjYTtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTsgfVxuICAgICAgLmtpdGNoZW4tc2luay1uYXYgLmRvY3MtdG9jIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgICAgLmtpdGNoZW4tc2luay1uYXYgLmRvY3MtdG9jIC5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjE5OWU4O1xuICAgICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5raXRjaGVuLXNpbmstbmF2IC5kb2NzLXRvYyAuZG9jcy1zdWItbWVudTpmaXJzdC1jaGlsZCAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4ua2l0Y2hlbi1zaW5rLWdyaWQgLmdyaWQteCB7XG4gIGJhY2tncm91bmQ6ICNkNmVjZmE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAua2l0Y2hlbi1zaW5rLWdyaWQgLmdyaWQteCAuY2VsbCwgLmtpdGNoZW4tc2luay1ncmlkIC5ncmlkLXggOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2JjMWVmO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5raXRjaGVuLXNpbmstZ3JpZCAuZ3JpZC14IC5jZWxsOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuIiwiLy8gRk9OVCBERUNMQVJBVElPTlNcblxuLy8gRk9OVCBGQU1JTElFU1xuJGhlbHZldGljYTogSGVsdmV0aWNhLCBHZW9yZ2lhLCBTYW5zLXNlcmlmO1xuJHBvcHBpbnM6IFwiUG9wcGluc1wiLCAkaGVsdmV0aWNhO1xuXG4uZmYtcG9wcGlucyB7XG5cdGZvbnQtZmFtaWx5OiAkcG9wcGlucztcbn1cblxuLy8gRk9OVCBXRUlHSFRcbi5mdy1saWdodCB7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5mdy1ub3JtYWwge1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuXG4uZnctbWVkaXVtIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmZ3LWJvbGQge1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG4vLyBGT05UIFNJWkVTXG4kZnMtc21hbGw6IHJlbS1jYWxjKDEycHgpO1xuXG4uZnMtc21hbGwge1xuXHRmb250LXNpemU6ICRmcy1zbWFsbDtcbn1cblxuLy8gSEVMUEVSU1xuLnVwcGVyY2FzZSB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEdyYWRpZW50c1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcblx0YmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBPcGVyYSAxMlxuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG5cdGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVncmVlIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIERlZ3JlZSBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0IGZvciBib3JkZXJzXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGdyYWRpZW50LWJvcmRlcigkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIC1tb3otYm9yZGVyLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBib3JkZXItaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxuICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG59IiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuXG4gICAgQGlmICgkYm9keS1hbnRpYWxpYXNlZCkge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgLy8gR3JpZCBkZWZhdWx0cyB0byBnZXQgaW1hZ2VzIGFuZCBlbWJlZHMgdG8gd29yayBwcm9wZXJseVxuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSB0ZXh0YXJlYSB0YWtlcyBvbiBoZWlnaHQgYXV0b21hdGljYWxseVxuICB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBhcmUgMTAwJSB3aWR0aCBieSBkZWZhdWx0XG4gIHNlbGVjdCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8taWRzXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogJGdsb2JhbC1idXR0b24tY3Vyc29yO1xuICB9XG5cbiAgLy8gUHJldmVudCB0ZXh0IG92ZXJmbG93IG9uIHByZVxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gTWFrZSByZXNldCBpbmhlcml0IGZvbnQtZmFtaWx5IGluc3RlYWQgb2Ygc2V0dGluZ3Mgc2Fucy1zZXJpZlxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvblByZXNzIHNldHRpbmdzLlxuLy8gIEJhc2VkIG9uIEZvdW5kYXRpb24gZm9yIFNpdGVzIHY2LjQuM1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5AaW1wb3J0ICdnbG9iYWwvY29sb3JzJztcbkBpbXBvcnQgJ2dsb2JhbC90eXBlJztcbkBpbXBvcnQgXCJnbG9iYWwvbWl4aW5zXCI7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgLy8gcHJpbWFyeTogIzE3NzliYSxcbiAgcHJpbWFyeTogJGRvcmFkbyxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICAvLyBzdWNjZXNzOiAjM2FkYjc2LFxuICBzdWNjZXNzOiAkdmVyZGUsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIC8vIGFsZXJ0OiAjY2M0YjM3LFxuICBhbGVydDogJHJvam8sXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAkbmVncm87IC8vIzBhMGEwYTtcbiR3aGl0ZTogJGJsYW5jbzsgLy8jZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICRwb3BwaW5zOyAvLy1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IDQwMDsgLy9ub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogJHJvam87IC8vaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICR3aGl0ZTtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRncmlzLW1lZGlvOyAvLyRkYXJrLW5hdi1jb2xvcjtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogdHJhbnNwYXJldDsgLy8kZGFyay1uYXYtY29sb3I7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiByZW0tY2FsYygyNXB4IDM1cHggOHB4KTsvLzAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Ly8kZ3JpczsgLy8kbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkZ3Jpcy1vYnNjdXJvOy8vJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiJHZlcmRlOiAjMkE3RTY3O1xuJHByaW1hcmlvOiAkdmVyZGU7XG4kc2VjdW5kYXJpbzogIzMzQ0M4NDtcbiRkb3JhZG86ICNEM0I1ODM7XG4kZG9yYWRvLW9ic2N1cm86ICNCNjhGMjc7XG4kcm9qbzogI2QzMDAzMTtcbiR0ZXJjaWFyaW86ICRyb2pvO1xuJGJsYW5jbzogI0ZGRkZGRjtcbiRuZWdybzogIzAwMDAwMDtcbiR0ZXh0b3M6ICMzRTNFM0U7XG5cbiRncmlzOiAjMkM0NTYyO1xuJGdyaXMtbWVkaW86ICM0ODU1NjA7XG4kZ3Jpcy1vYnNjdXJvOiAjNTk1OTU5O1xuJGdyaXMtYzogI0E0QUFCMDtcblxuJGdyaXMtY2xhcm86ICNEQURBREE7XG4kc2hhZG93czogIzMwMzEzMztcblxuJGZhY2Vib29rOiAjM0I1OTk4O1xuJHR3aXR0ZXI6ICMwMEI2RjE7XG4kd2hhdHNhcHA6ICMyNUQzNjY7XG5cbiRkYXJrLW5hdi1jb2xvcjogIzJDMzg0MDtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIHlvdXIgZmxleCBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbaG9yaXpvbnRhbF0gLSBFaXRoZXIgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCBkaXJlY3Rpb24gb2YgY2VsbHMgd2l0aGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gSWYgdGhlIGNlbGxzIHdpdGhpbiBzaG91bGQgd3JhcCBvciBub3QuXG5AbWl4aW4geHktZ3JpZChcbiAgJGRpcmVjdGlvbjogaG9yaXpvbnRhbCxcbiAgJHdyYXA6IHRydWVcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uID09ICdob3Jpem9udGFsJywgcm93LCBjb2x1bW4pO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgbiBvZiBuIGFuZCBudW1iZXIgY291bnRzXG4gIEBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJHNpemUpID09ICclJyB7XG4gICAgICAkc2l6ZTogJHNpemU7XG4gICAgfVxuICAgIEBlbHNlIGlmICRzaXplIDwgMSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplIC8gJGdyaWQtY29sdW1ucyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIG9yIFwibi9uXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRzaXplKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIiBvciBcIm4vblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKG50aCgkc2l6ZSwgMSkgLyBudGgoJHNpemUsIDMpKTtcbiAgICB9XG4gIH1cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciB4eS1jZWxsLXNpemUoKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGBncm93YC5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgIC8vIFRoaXMgaXMgdGhlIGJhc2Ugc3R5bGUsIGFsbCBvdGhlcnMgaW5oZXJpdCBmcm9tIGl0XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLyBTZXRzIG91ciBjZWxsIHdpZHRocyBvciBoZWlnaHRzIGRlcGVuZGluZyBvbiBndXR0ZXIgdHlwZS5cbkBtaXhpbiAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkbWFyZ2luLWd1dHRlciwgJHZlcnRpY2FsKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgQGlmKCRzaXplID09ICdmdWxsJykge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgI3t4eS1jZWxsLXNpemUoJHNpemUpfSwgY2FsYygje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnAtaXMtZmFsbGJhY2s6IGZhbHNlO1xuXG4gIEBpZigkYnJlYWtwb2ludCA9PSBudWxsKSB7XG4gICAgLy8gSWYgYCRicC1zaXplYCBpcyBhdmFpbGFibGUgdGhlbiB1c2UgdGhpcywgb3RoZXJ3aXNlIHJldmVydCB0byB0aGUgc21hbGxlc3QgYnAuXG4gICAgQGlmKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXNpemU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgICAgICRicC1pcy1mYWxsYmFjazogdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciBmb3IgdGhlIGdpdmVuIGJyZWFrcG9pbnQvdmFsdWUuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgZmFsbGJhY2ssIHVzZSBhIGZhbGxiYWNrIGd1dHRlciBhcyB3ZWxsXG4gIEBpZiAoJGJwLWlzLWZhbGxiYWNrID09IHRydWUgYW5kICRndXR0ZXIgPT0gbnVsbCkge1xuICAgICRndXR0ZXI6IDA7XG4gIH1cblxuICBAaWYoJGd1dHRlciAhPSBudWxsKSB7XG4gICAgLy8gQmFzZSBmbGV4IHByb3BlcnRpZXNcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gICAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAaWYgJGd1dHRlci1vdXRwdXQge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiLCBjZWxsIHdhcyBub3QgZ2VuZXJhdGVkYCdcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoZGVmYXVsdCkgZm9yIDEwMCUgd2lkdGgsIGBhdXRvYCB0byB1c2UgdXAgYXZhaWxhYmxlIHNwYWNlIGFuZCBgc2hyaW5rYCB0byB1c2UgdXAgb25seSByZXF1aXJlZCBzcGFjZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJGd1dHRlciwgJHZlcnRpY2FsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgMCwgJHZlcnRpY2FsKTtcbiAgfVxuXG4gIC8vIElmIHdlIHdhbnQgdG8gb3V0cHV0IHRoZSBndXR0ZXJzXG4gIEBpZigkZ3V0dGVyLW91dHB1dCkge1xuICAgIC8vIFRPRE86IEZpZ3VyZSBvdXQgaWYgd2UgbmVlZCB0byBwYXNzIGJyZWFrcG9pbnQgaW4gaGVyZSB0b28uXG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIFNlZSBgLXpmLWJyZWFrcG9pbnQtdmFsdWUoKWAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJGd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItbWFyZ2luID09IDAsICN7eHktY2VsbC1zaXplKCRuKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlci1tYXJnaW59KSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqICRpbnB1dC1saW5lLWhlaWdodCkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAmLCAmLmlucHV0LWdyb3VwLWJ1dHRvbiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcblxuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgfVxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYWNjb3JkaW9uIHRpdGxlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIgKFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kXG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplLFxuICAkY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcixcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDEzJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQgKFxuICAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3Jcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuXG4gIC5hY2NvcmRpb24tbWVudSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSBhIHtcbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbiwgcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudSBsaSB7XG4gICAgQGlmICRhY2NvcmRpb25tZW51LWJvcmRlciB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICB9XG5cbiAgLy8gU3VibWVudSB0b2dnbGVcbiAgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1yaWdodH06IDA7XG5cbiAgICB3aWR0aDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjtcblxuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBhcnJvdyB0byB0aGUgdG9nZ2xlXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZyxcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJHNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9mZi1jYW52YXNcbi8vLy9cblxuLy8vIFdpZHRoIG1hcCBvZiBhIGxlZnQvcmlnaHQgb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBtYXAgb2YgYSB0b3AvYm90dG9tIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGZvciB0aGUgb2ZmLWNhbnZhcyBvdmVybGFwIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBzaXplIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweCAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgY29sb3IgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgY29udGVudCBvdmVybGF5LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTEgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYHB1c2hgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMiAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhIHJldmVhbGVkIG9mZi1jYW52YXMgd2lsbCBiZSBmaXhlZC1wb3NpdGlvbiwgYW5kIHNjcm9sbCB3aXRoIHRoZSBzY3JlZW4uXG4vLy8gQHR5cGUgQm9vbFxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGNvbnRlbnQuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNlbGluZSBzdHlsZXMgZm9yIG9mZi1jYW52YXMuIFRoaXMgQ1NTIGlzIHJlcXVpcmVkIHRvIG1ha2UgdGhlIG90aGVyIHBpZWNlcyB3b3JrLlxuQG1peGluIG9mZi1jYW52YXMtYmFzaWNzIHtcblxuICAvLy8gVHJhbnNmb3JtIGRlcHJlY2F0ZWQgc2l6ZSBzZXR0aW5ncyBpbnRvIG1hcCAmIHNob3cgd2FybmluZ1xuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXNpemVzIGluc3RlYWQnO1xuICB9XG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cblxuICAvLyBDaGVja3MgdGhlIHotaW5kZXhlcyBhbmQgaW5jcmVhc2UgdGhlbSBkdWUgdG8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlIG92ZXJsYXkncyB6LWluZGV4IGlzIG5ldyBzaW5jZSB2Ni40IGFuZCBtYXkgYmUgaWRlbnRpY2FsIHRvIHRoZSB1c2VyIGN1c3RvbSBzZXR0aW5ncyBvZiB0aGUgcHVzaCB6LWluZGV4LlxuICBAaWYgJG9mZmNhbnZhcy1wdXNoLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1wdXNoLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleCA8PSAkb2ZmY2FudmFzLXB1c2gtemluZGV4IHsgJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleCArIDEgIWdsb2JhbDsgfVxuICBAaWYgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cblxuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZywgdmlzaWJpbGl0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG5cbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3NhYmxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktYWJzb2x1dGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHdyYXBwZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy13cmFwcGVyKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2UoXG4gICRiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQsXG4gICR0cmFuc2l0aW9uOiAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsXG4gICRmaXhlZDogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICBAaWYgJGZpeGVkID09IHRydWUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gU2V0IHRoZSBvZmYtY2FudmFzIHotaW5kZXguXG4gIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgLy8gSGlkZSBpbmFjdGl2ZSBvZmYtY2FudmFzIHdpdGhpbiB0aGUgY29udGVudCB0aGF0IGhhdmUgdGhlIHNhbWUgcG9zaXRpb25cbiAgJi5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplczogaWYoJG9yaWVudGF0aW9uID09IGhvcml6b250YWwsICRvZmZjYW52YXMtc2l6ZXMsICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXMpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gVHJhbnNmb3JtIHNjb3BlIHVudGlsIHRoZSBlbGVtZW50IGlzIGNsb3NlZCAobWFrZXMgc3VyZSB0cmFuc2l0aW9uZW5kIGdldHMgdHJpZ2dlcmVkKVxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgZWxlbWVudCAmIGNvbnRlbnQsIG5lc3RlZCBpbiBhbm90aGVyIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1yZXZlYWwoXG4kcG9zaXRpb246IGxlZnQsXG4kemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4kY29udGVudDogJG1haW5jb250ZW50LWNsYXNzLFxuJGJyZWFrcG9pbnQ6IHNtYWxsXG4pIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAkemluZGV4O1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIEBpZiBub3QgJG9mZmNhbnZhcy1maXhlZC1yZXZlYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBDb25zaWRlciByZXZlYWxlZCBlbGVtZW50IGlzIG5lc3RlZCBpbiBjb250ZW50XG4gIC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgQGF0LXJvb3QgLiN7JGNvbnRlbnR9Lmhhcy1yZXZlYWwtI3skcG9zaXRpb259IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAocHJpb3IgdG8gdjYuNClcbiAgJiB+IC4jeyRjb250ZW50fSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG59XG5cbi8vLyBPdmVycmlkZXMgdGhlIG9mZi1jYW52YXMgc3R5bGVzXG5AbWl4aW4gaW4tY2FudmFzKCkge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5wb3NpdGlvbi1sZWZ0LFxuICAmLnBvc2l0aW9uLXJpZ2h0LFxuICAmLnBvc2l0aW9uLXRvcCxcbiAgJi5wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyB3cmFwcGVyXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcHBlcjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyXG4gIC5vZmYtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2U7XG5cbiAgICAvLyBGb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSBmb3IgbmVzdGVkIG9mZi1jYW52YXMgYmVjYXVzZSBmaXhlZCBkb2Vzbid0IHdvcmsgZm9yIHB1c2ggdHJhbnNpdGlvbiB3aXRoaW4gdGhlIHRyYW5zZm9ybSBzY29wZS5cbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgICAgLy8gTk9URTogc2luY2Ugb3ZlcmxhcCB0cmFuc2l0aW9uIGlzIGN1cnJlbnRseSBmb3JjZWQgaWYgbmVzdGVkLCB0aGVyZSdzIG5vIG5lZWQgdG8gZm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgdW50aWwgbmVzdGVkIHB1c2ggdHJhbnNpdGlvbiBpcyBzdXBwb3J0ZWQuXG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHRvcCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTW92ZSBpbi1jYW52YXMgZm9yIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgaW4tY2FudmFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDsgLy8gUHJldmVudCBGT1VDIGJ5IG5vdCBzaG93aW5nIHVudGlsIEpTIHNldHMgaGVpZ2h0XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc2xpZGUgY29udGFpbmluZyBhbiBpbWFnZS4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWltYWdlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBvcmJpdCBzbGlkZSBjYXB0aW9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY2FwdGlvbmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIChcbiAgJG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b20sXG4gICRmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZSxcbiAgJHNwYWNpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZyxcbiAgJHJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3IsXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGN1cnNvciBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoYXMtdGlwLWN1cnNvcjogaGVscCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXggd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnRvcCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLXRvcDo6YmVmb3JlIHtcbiAgICBib3R0b206IGF1dG87XG4gICAgdG9wOiAxMCU7XG4gIH1cblxuICAmLmFsaWduLWJvdHRvbTo6YmVmb3JlIHtcbiAgICBib3R0b206IDEwJTtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLWxlZnQ6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodDo6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgcGF1c2UtcXVldWUtY2xhc3M6ICdpcy1wYXVzZWQnLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIFwiI3skb3V0cHV0fVwiO1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgLW11aS1pcy1mdW5jdGlvbigkbWFwKSB7XG4gICAgICAkbWFwOiAtbXVpLXNhZmUtY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuIEJ5IGRlZmF1bHQgYGxlZnRgIGFuZCBgcmlnaHRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbnVsbCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gIT0gbnVsbCwgJGRpcmVjdGlvbiwgaWYoJHN0YXRlID09IGluLCBsZWZ0LCByaWdodCkpO1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFtudWxsXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gT3BhY2l0eSB0byBlbmQgb24uIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZnJvbTogaWYoJGZyb20gIT0gbnVsbCwgJGZyb20sIGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSkpO1xuICAkdG86IGlmKCR0byAhPSBudWxsLCAkdG8sIGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCkpO1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogbnVsbFxuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICR0dXJuLW9yaWdpbjogaWYoJHR1cm4tb3JpZ2luICE9IG51bGwsICR0dXJuLW9yaWdpbiwgaWYoJHN0YXRlID09IGluLCBmcm9tLWJhY2ssIGZyb20tZnJvbnQpKTtcbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogLW11aS1zdHJpbmctc2FmZSgnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScpLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW251bGxdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC4gQnkgZGVmYXVsdCBgZnJvbS1iYWNrYCBhbmQgYGZyb20tZnJvbnRgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGwsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBTaXplIHRvIHN0YXJ0IGF0LiBCeSBkZWZhdWx0IGAwYCBhbmQgYDFgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gW251bGxdIC0gU2l6ZSB0byBlbmQgYXQuIEJ5IGRlZmF1bHQgYDFgIGFuZCBgMGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbnVsbCxcbiAgJHRvOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW251bGxdIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS4gQnkgZGVmYXVsdCBgY3dgIGFuZCBgY2N3YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgY3csIGNjdykpO1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5cblxuQGltcG9ydCAnc2V0dGluZ3MnO1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW1wb3J0ICdtb3Rpb24tdWknO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG5cbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1yYW5nZS1pbnB1dDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcblxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcztcblxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8qXG4gIE15IGN1c3RvbSBzdHlsZXM6XG4gIEFkZCB5b3VyIHNjc3MgZmlsZXMgYmVsb3cgdG8gc3RydWN0dXJlIHlvdXIgcHJvamVjdCBzdHlsZXNcbiovXG5cbi8vIEdsb2JhbFxuLy8gQGltcG9ydCBcImdsb2JhbC90eXBlXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2dlbmVyYWxlc1wiO1xuQGltcG9ydCBcImdsb2JhbC9wYWRkaW5ncy1tYXJnaW5zXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2FjY2Vzc2liaWxpdHlcIjtcbi8vIEBpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2dyYXZpdHktc3R5bGVzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLWFkbWluXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL3dwLW92ZXJyaWRlc1wiO1xuQGltcG9ydCBcImdsb2JhbC9ndXRlbmJlcmdcIjtcblxuLy8gTW9kdWxlc1xuQGltcG9ydCBcIm1vZHVsZXMvYXN5bmMtbWVkaWEtbG9hZFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZmFuY3lib3hcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL293bC1jYXJvdXNlbFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvY3VzdG9tLWdyYXZpdHktZm9ybXNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2pxdWVyeS11aVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbmF2aWdhdGlvblwiO1xuQGltcG9ydCBcIm1vZHVsZXMvdG9wLWJhclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvb2ZmLWNhbnZhc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvY29udGVudFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZm9vdGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9lZGl0b3Itc3R5bGVcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2FyZHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ZlYXR1cmVkLWltYWdlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kaXZpZGVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGlua3NcIjtcblxuLy8gVGVtcGxhdGVzXG5AaW1wb3J0IFwidGVtcGxhdGVzL2Zyb250XCI7XG5AaW1wb3J0IFwidGVtcGxhdGVzL2tpdGNoZW4tc2lua1wiO1xuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEdlbmVyYWxlcyBkZSBQbGF5dXNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgLmdtLXN0eWxlIHtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjbWFwYS0wMSB7XG4gICAgICAgIC8qaGVpZ2h0OiAxMDAlOyovXG4gICAgfVxuXG4gICAgLmdtLW1hcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA2MDBweDtcbiAgICB9XG5cbiAgICAvLyAucm93LXBsYXkge1xuICAgIC8vICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAvLyB9XG5cbiAgICAubWVkaW8tYXJyaWJhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAudW5vLWFycmliYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyBcbiAgICB9XG5cbiAgICAuZG9zLWFycmliYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgIH1cblxuICAgIC50cmVzLWFycmliYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIH1cbiAgICBcbiAgICAuY3VhdHJvLWFycmliYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIH1cbiAgICAuY2luY28tYXJyaWJhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVyZW07XG4gICAgfVxuICAgIC5zZWlzLWFycmliYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIH1cbiAgICAuc2lldGUtYXJyaWJhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDdyZW07XG4gICAgfVxuICAgIC5vY2hvLWFycmliYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgIH1cbiAgICAubWVkaW8tYWJham8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbiAgICAudW5vLWFiYWpvIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIC5kb3MtYWJham8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgLnRyZXMtYWJham8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gICAgLmN1YXRyby1hYmFqbyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICAgIH1cbiAgICAuY2luY28tYWJham8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgICB9XG4gICAgLnNlaXMtYWJham8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcbiAgICB9XG4gICAgLm1lZGlvLWRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG4gICAgLnVuby1kZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIH1cbiAgICAuZG9zLWRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgfVxuICAgIC50cmVzLWRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgfVxuICAgIC5jdWF0cm8tZGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHJlbTtcbiAgICB9XG4gICAgLmNpbmNvLWRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVyZW07XG4gICAgfVxuICAgIC5zZWlzLWRlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDZyZW07XG4gICAgfVxuICAgIC5tZWRpby1penEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG4gICAgLnVuby1penEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgfVxuICAgIC5kb3MtaXpxIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIH1cbiAgICAudHJlcy1penEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgfVxuICAgIC5jdWF0cm8taXpxIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgIH1cbiAgICAuY2luY28taXpxIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cmVtO1xuICAgIH1cbiAgICAuc2Vpcy1penEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDZyZW07XG4gICAgfVxuXG5cbiAgICAubm8tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgfVxuICAgIC5wLW5vLW1hcmdpbntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgICAubWFyZ2luLWF1dG8ge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgLm1hcmdpbi1tZWRpby1hcnJpYmEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgfVxuICAgIC5tYXJnaW4tdW5vLWFycmliYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuICAgIC5tYXJnaW4tZG9zLWFycmliYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICAgIC5tYXJnaW4tdHJlcy1hcnJpYmEge1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgIH1cbiAgICAubWFyZ2luLWN1YXRyby1hcnJpYmEge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIH1cbiAgICAubWFyZ2luLW1lZGlvLWFiYWpvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbiAgICAubWFyZ2luLXVuby1hYmFqbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIC5tYXJnaW4tZG9zLWFiYWpvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgLm1hcmdpbi10cmVzLWFiYWpvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gICAgLm1hcmdpbi1jdWF0cm8tYWJham8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIH1cbiAgICAudW5vLWRlci1tIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cbiAgICAuZG9zLWRlci1tIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgIH1cbiAgICAudW5vLWl6cS1tIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuICAgIC5kb3MtaXpxLW0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICB9XG5cbiAgICAuaW1nLTEwMHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5vdmVyZmxvdyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5yZWxhdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmFic29sdXRlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAuYmxvY2sge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmlubGluZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgXG4gICAgfVxuICAgIC5pbmxpbmUtaW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC56LWluZGV4MTAge1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG4vKi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyovIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1hcmdpbiBUb3Bcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubS10LTgge1xuXHRtYXJnaW4tdG9wOiByZW0tY2FsYyg4cHgpO1xufVxuXG4ubS10LTE2IHtcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMTZweCk7XG59XG5cbi5tLXQtMjAge1xuXHRtYXJnaW4tdG9wOiByZW0tY2FsYygyMHB4KTtcbn1cblxuLm0tdC0yNCB7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDI0cHgpO1xufVxuXG4ubS10LTI4IHtcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoMjhweCk7XG59XG5cbi5tLXQtMzIge1xuXHRtYXJnaW4tdG9wOiByZW0tY2FsYygzMnB4KTtcbn1cblxuLm0tdC00MCB7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwcHgpO1xufVxuXG4ubS10LTQ4IHtcblx0bWFyZ2luLXRvcDogcmVtLWNhbGMoNDhweCk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBNYXJnaW4gUmlnaHRcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubS1yLTgge1xuXHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDhweCk7XG59XG5cbi5tLXItMTIge1xuXHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEycHgpO1xufVxuXG4ubS1yLTE2IHtcblx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNnB4KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1hcmdpbiBCb3R0b21cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubS1iLTAge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubS1iLTgge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4cHgpO1xufVxuXG4ubS1iLTEzIHtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTNweCk7XG59XG5cbi5tLWItMTYge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNnB4KTtcbn1cblxuLm0tYi0yMCB7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwcHgpO1xufVxuXG4ubS1iLTI0IHtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjRweCk7XG59XG5cbi5tLWItMjgge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOHB4KTtcbn1cblxuLm0tYi0zMiB7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMycHgpO1xufVxuXG4ubS1iLTQwIHtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDBweCk7XG59XG5cbi5tLWItNDgge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0OHB4KTtcbn1cblxuLm0tYi02MCB7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwcHgpO1xufVxuXG4ubS1iLTYwIHtcblx0bWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjBweCk7XG59XG5cbi5tLWItOTYge1xuXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg5NnB4KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE1hcmdpbiBMZWZ0XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm0tbC04IHtcblx0bWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDhweCk7XG59XG5cbi5tLWwtMTIge1xuXHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTJweCk7XG59XG5cbi5tLWwtMTYge1xuXHRtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTZweCk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWRkaW5nIFRvcFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wLXQtOCB7XG5cdHBhZGRpbmctdG9wOiByZW0tY2FsYyg4cHgpO1xufVxuXG4ucC10LTE2IHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDE2cHgpO1xufVxuXG4ucC10LTI0IHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDI0cHgpO1xufVxuXG4ucC10LTI4IHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDI4cHgpO1xufVxuXG4ucC10LTMyIHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDMycHgpO1xufVxuXG4ucC10LTQwIHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDQwcHgpO1xufVxuXG4ucC10LTYwIHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDYwcHgpO1xufVxuXG4ucC10LTcyIHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDcycHgpO1xufVxuXG4ucC10LTgwIHtcblx0cGFkZGluZy10b3A6IHJlbS1jYWxjKDgwcHgpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUGFkZGluZyBSaWdodFxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wLXItOCB7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDhweCk7XG59XG5cbi5wLXItMTYge1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNnB4KTtcbn1cblxuLnAtci0yMCB7XG5cdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwcHgpO1xufVxuXG4ucC1yLTI0IHtcblx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjRweCk7XG59XG5cbi5wLXItMzIge1xuXHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMnB4KTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBhZGRpbmcgQm90dG9tXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnAtYi04IHtcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDhweCk7XG59XG5cbi5wLWItMTYge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTZweCk7XG59XG5cbi5wLWItMjQge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjRweCk7XG59XG5cbi5wLWItMzIge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzJweCk7XG59XG5cbi5wLWItNDAge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDBweCk7XG59XG5cbi5wLWItNTYge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTZweCk7XG59XG5cbi5wLWItNjAge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNjBweCk7XG59XG5cbi5wLWItNzIge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNzJweCk7XG59XG5cbi5wLWItOTYge1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoOTZweCk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYWRkaW5nIExlZnRcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucC1sLTgge1xuXHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDhweCk7XG59XG5cbi5wLWwtMTYge1xuXHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE2cHgpO1xufVxuXG4ucC1sLTIwIHtcblx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMHB4KTtcbn1cblxuLnAtbC0yNCB7XG5cdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjRweCk7XG59XG5cbi5wLWwtMzIge1xuXHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMycHgpO1xufVxuIiwiLy8gVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gQWRkcmVzc2VzIHBhcnQgb2YgdGhlbWUtY2hlY2sgaXNzdWUgIzg0MC5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9BdXRvbWF0dGljL19zL2Jsb2IvbWFzdGVyL3N0eWxlLmNzc1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IC8vIEFib3ZlIFdQIHRvb2xiYXIuXG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTUFJTiBHRk9STVNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZ2Zvcm1fd3JhcHBlciBzZWxlY3QsLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9wcm9ncmVzc2JhcjphZnRlciwuZ2Zvcm1fd3JhcHBlciBvbC52YWxpZGF0aW9uX2xpc3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCJcbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuICAgIG1hcmdpbjogMTZweCAwO1xuICAgIG1heC13aWR0aDogMTAwJVxufVxuXG4uZ2Zvcm1fd3JhcHBlciBmb3JtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0b1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAqLC5nZm9ybV93cmFwcGVyIDphZnRlciwuZ2Zvcm1fd3JhcHBlciA6YmVmb3JlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94IWltcG9ydGFudFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBoMSwuZ2Zvcm1fd3JhcHBlciBoMiwuZ2Zvcm1fd3JhcHBlciBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogMCAwXG59XG5cbi5nZm9ybV93cmFwcGVyIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDVweCA0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dFt0eXBlPWltYWdlXSB7XG4gICAgYm9yZGVyOiBub25lIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICByZXNpemU6IG5vbmVcbn1cblxuLmdmb3JtX3dyYXBwZXIgc2VsZWN0IHtcbiAgICBsaW5lLWhlaWdodDogMS41XG59XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBvdXRsaW5lOiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyB7XG4gICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2tcbn1cblxuLmdmb3JtX3dyYXBwZXIgdWwsaHRtbD5ib2R5IC5lbnRyeSB1bCB7XG4gICAgdGV4dC1pbmRlbnQ6IDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgZm9ybSBsaSwuZ2Zvcm1fd3JhcHBlciBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAhaW1wb3J0YW50O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlXG59XG5cbi5nZm9ybV93cmFwcGVyIHVsIGxpLmdmaWVsZCB7XG4gICAgY2xlYXI6IGJvdGhcbn1cblxuLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlblxufVxuXG4uZ2Zvcm1fd3JhcHBlciBmb3JtIHVsLmdmb3JtX2ZpZWxkcy5sZWZ0X2xhYmVsIGxpLmdmaWVsZCwuZ2Zvcm1fd3JhcHBlciBmb3JtIHVsLmdmb3JtX2ZpZWxkcy5yaWdodF9sYWJlbCBsaS5nZmllbGQsLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzLmxlZnRfbGFiZWwgbGkuZ2ZpZWxkLC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcy5yaWdodF9sYWJlbCBsaS5nZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5sZWZ0X2xhYmVsIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciBmb3JtIHVsLmxlZnRfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpLC5nZm9ybV93cmFwcGVyIGZvcm0gdWwucmlnaHRfbGFiZWwgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLC5nZm9ybV93cmFwcGVyIGZvcm0gdWwucmlnaHRfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpLC5nZm9ybV93cmFwcGVyIHVsLmxlZnRfbGFiZWwgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLC5nZm9ybV93cmFwcGVyIHVsLmxlZnRfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpLC5nZm9ybV93cmFwcGVyIHVsLnJpZ2h0X2xhYmVsIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciB1bC5yaWdodF9sYWJlbCBsaSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgdWwgbGk6YWZ0ZXIsLmdmb3JtX3dyYXBwZXIgdWwgbGk6YmVmb3JlLC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGVcbn1cblxuLmdmb3JtX3dyYXBwZXIgc2VsZWN0IG9wdGlvbiB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrXG59XG5cbi5nZm9ybV93cmFwcGVyIC5pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2hlYWRpbmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNsZWFyLW11bHRpIHtcbiAgICBkaXNwbGF5OiBmbGV4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9kYXksLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX3llYXIge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9ja1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfZGF5LC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9tb250aCwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfeWVhciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvd1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfZHJvcGRvd25fZGF5LC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9kcm9wZG93bl9tb250aCwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfZHJvcGRvd25feWVhciB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbi1yaWdodDogLjVyZW1cbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX2RheSwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfbW9udGgge1xuICAgIHdpZHRoOiA0cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLjVyZW1cbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX2RheSBpbnB1dFt0eXBlPW51bWJlcl0sLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX21vbnRoIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgd2lkdGg6IGNhbGMoM3JlbSArIDhweCkhaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV95ZWFyIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgd2lkdGg6IGNhbGMoNHJlbSArIDhweCkhaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV95ZWFyIHtcbiAgICB3aWR0aDogNXJlbVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfZGF5IGlucHV0LC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV9tb250aCBpbnB1dCB7XG4gICAgd2lkdGg6IGNhbGMoM3JlbSArIDhweClcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX3llYXIgaW5wdXQge1xuICAgIHdpZHRoOiA0cmVtXG59XG5cbi5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9hYm92ZSBkaXZbY2xhc3MqPWdmaWVsZF9kYXRlX10uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCwuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2W2NsYXNzKj1nZmllbGRfZGF0ZV9dLmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYWJvdmUgZGl2LmdmaWVsZF9kYXRlX3llYXIuZ2lucHV0X2NvbnRhaW5lciBsYWJlbCwuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2LmdmaWVsZF9kYXRlX3llYXIuZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gICAgd2lkdGg6IDRyZW1cbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2FtcG0sLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2hvdXIsLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX21pbnV0ZSB7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvd1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMXB4KSB7XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kYXRlX2RheSwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2RhdGVfbW9udGgge1xuICAgICAgICBtYXgtd2lkdGg6NHJlbVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGF0ZV95ZWFyLC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9hbXBtIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDRyZW0gKyAuNXJlbSlcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfaG91ciwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfbWludXRlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0cmVtXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2FtcG0sLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2hvdXIge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNHJlbSArIC41cmVtKVxuICAgIH1cbn1cblxuLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZ2lucHV0X2NvbnRhaW5lcl90aW1lIHNwYW4ge1xuICAgIGZsb2F0OiBsZWZ0XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyIGkge1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbCFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogOSVcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX21pbnV0ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfaG91ciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMjVyZW1cbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2FtcG0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdCB7XG4gICAgbWluLXdpZHRoOiBjYWxjKDJyZW0gKyAyNXB4KTtcbiAgICB3aWR0aDogY2FsYygzcmVtICsgMjVweClcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF90aW1lX2FtcG1fc2hpbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAuODEzZW07XG4gICAgbWFyZ2luOiA5cHggMCAxcHggMXB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyIGlucHV0LC5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9taW51dGUgaW5wdXQge1xuICAgIHdpZHRoOiBjYWxjKDNyZW0gKyA4cHgpXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfdGltZV9ob3VyIGlucHV0W3R5cGU9bnVtYmVyXSwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3RpbWVfbWludXRlIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgd2lkdGg6IGNhbGMoM3JlbSArIDhweCkhaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9hYm92ZSBkaXZbY2xhc3MqPWdmaWVsZF90aW1lX10uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCwuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2W2NsYXNzKj1nZmllbGRfdGltZV9dLmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfaG92ZXIge1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjMjE3NUE5O1xuICAgIGN1cnNvcjogcG9pbnRlclxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNERkVGRkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0MyRDdFRlxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfbmFtZV9maXJzdCwuZ2Zvcm1fd3JhcHBlciAuZmllbGRfbmFtZV9sYXN0LC5nZm9ybV93cmFwcGVyIC5maWVsZF9uYW1lX21pZGRsZSB7XG4gICAgd2lkdGg6IDQ5LjUlO1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wXG59XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB3aWR0aDogMTAwJVxufVxuXG4uZ2Zvcm1fd3JhcHBlciBsYWJlbC5nZmllbGRfbGFiZWwsLmdmb3JtX3dyYXBwZXIgbGVnZW5kLmdmaWVsZF9sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IGluaGVyaXRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2xhYmVsLC5nZm9ybV93cmFwcGVyIGxlZ2VuZC5nZmllbGRfbGFiZWwge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGNsZWFyOiBib3RoXG59XG5cbi5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9oaWRlX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lXG59XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2xlZnQgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSksLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSksLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQgc2VsZWN0LC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSwuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIgbGFiZWwsLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIGRpdltjbGFzcyo9Z2ZpZWxkX2RhdGVfXS5naW5wdXRfY29udGFpbmVyIGxhYmVsLC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9hYm92ZSBkaXZbY2xhc3MqPWdmaWVsZF90aW1lX10uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCwuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIgbGFiZWwsLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2JlbG93IGRpdltjbGFzcyo9Z2ZpZWxkX2RhdGVfXS5naW5wdXRfY29udGFpbmVyIGxhYmVsLC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyBkaXZbY2xhc3MqPWdmaWVsZF90aW1lX10uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAuODEzZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC41cHQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxufVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXJcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIGxhYmVsLC5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9hYm92ZSBkaXZbY2xhc3MqPWdmaWVsZF90aW1lX10uZ2lucHV0X2NvbnRhaW5lciBsYWJlbCB7XG4gICAgbWFyZ2luOiA5cHggMCAxcHggMXB4XG59XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfZW1haWwgbGFiZWwsLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9uYW1lIGxhYmVsLC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfcGFzc3dvcmQgbGFiZWwsLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZmllbGRfc3VibGFiZWxfYWJvdmUgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl90aW1lIGxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9iZWxvdyAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lciBsYWJlbCwuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfYmVsb3cgZGl2W2NsYXNzKj1nZmllbGRfdGltZV9dLmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICAgIG1hcmdpbjogMXB4IDAgOXB4IDFweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIC5maWVsZF9zdWJsYWJlbF9hYm92ZSBsYWJlbC5nZmllbGRfbGFiZWwrLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZmllbGRfc3VibGFiZWxfYWJvdmUgbGFiZWwuZ2ZpZWxkX2xhYmVsK2RpdltjbGFzcyo9Z2ZpZWxkX3RpbWVfXS5naW5wdXRfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwXG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBkaXYuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogOHB4XG59XG5cbmJvZHkuZ2Zvcm1fd3JhcHBlciBkaXYuY2xlYXItbXVsdGkge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9ja1xufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIHVsIGxpLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IGRpdi5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94LGJvZHkgLmdmb3JtX3dyYXBwZXIgdWwgbGkuZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgZGl2LmdpbnB1dF9jb250YWluZXJfcmFkaW8ge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuaGlkZGVuX2xhYmVsIC5nZmllbGRfbGFiZWwge1xuICAgIGNsaXA6IHJlY3QoMXB4LDFweCwxcHgsMXB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlblxufVxuXG4uZ2ZpZWxkLmxlZnRfbGFiZWwsLmdmaWVsZC5yaWdodF9sYWJlbCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuaGlkZGVuX2xhYmVsIGlucHV0IHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9oaWRkZW5fbGFiZWwgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT10ZXh0XSwuZ2Zvcm1fd3JhcHBlciAuZmllbGRfc3VibGFiZWxfaGlkZGVuX2xhYmVsIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuc2NyZWVuLXJlYWRlci10ZXh0LC5nZm9ybV93cmFwcGVyIGxhYmVsLmhpZGRlbl9zdWJfbGFiZWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDFweCwxcHgsMXB4LDFweCk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgd29yZC13cmFwOiBub3JtYWwhaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIGlucHV0LmxhcmdlLC5nZm9ybV93cmFwcGVyIGlucHV0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciBpbnB1dC5zbWFsbCwuZ2Zvcm1fd3JhcHBlciBzZWxlY3QubGFyZ2UsLmdmb3JtX3dyYXBwZXIgc2VsZWN0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciBzZWxlY3Quc21hbGwge1xuICAgIHdpZHRoOiAxMDAlXG59XG5cbi5nZm9ybV93cmFwcGVyIGlucHV0LmRhdGVwaWNrZXJfd2l0aF9pY29uLmxhcmdlLC5nZm9ybV93cmFwcGVyIGlucHV0LmRhdGVwaWNrZXJfd2l0aF9pY29uLm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5zbWFsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI0cHgpXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgaW5wdXQubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5zbWFsbCwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIHNlbGVjdC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIHNlbGVjdC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBzZWxlY3Quc21hbGwge1xuICAgIHdpZHRoOiAxMDAlXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgaW5wdXQuZGF0ZXBpY2tlcl93aXRoX2ljb24ubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciBpbnB1dC5kYXRlcGlja2VyX3dpdGhfaWNvbi5zbWFsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpXG59XG5cbi5nZm9ybV93cmFwcGVyIHRleHRhcmVhLnNtYWxsIHtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgd2lkdGg6IDEwMCVcbn1cblxuLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEubWVkaXVtIHtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIHdpZHRoOiAxMDAlXG59XG5cbi5nZm9ybV93cmFwcGVyIHRleHRhcmVhLmxhcmdlIHtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIHdpZHRoOiAxMDAlXG59XG5cbi5nZm9ybV93cmFwcGVyIGgyLmdzZWN0aW9uX3RpdGxlIHtcbiAgICBtYXJnaW46IDAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWwhaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nc2VjdGlvbiAuZ2ZpZWxkX2xhYmVsLC5nZm9ybV93cmFwcGVyIGgyLmdzZWN0aW9uX3RpdGxlLC5nZm9ybV93cmFwcGVyIGgzLmdmb3JtX3RpdGxlIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtXG59XG5cbi5nZm9ybV93cmFwcGVyIGgzLmdmb3JtX3RpdGxlIHtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDEwcHggMCA2cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93K2xpLmdzZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4IWltcG9ydGFudFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBzcGFuLmdmb3JtX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nc2VjdGlvbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQ0M7XG4gICAgcGFkZGluZzogMCAxNnB4IDhweCAwO1xuICAgIG1hcmdpbjogMjhweCAwO1xuICAgIGNsZWFyOiBib3RoXG59XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dFt0eXBlPWNoZWNrYm94XSwuZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudFxufVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZmllbGRfY2hlY2tib3gsLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICBtYXJnaW46IDZweCAwO1xuICAgIHBhZGRpbmc6IDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGZvbnQtc2l6ZTogLjg3NWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWF4LXdpZHRoOiA4NSU7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9jYXJkaW5mb19sZWZ0IGxhYmVsLC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX3JpZ2h0IGxhYmVsLC5nZm9ybV93cmFwcGVyIGRpdi5jaGFybGVmdCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCB7XG4gICAgbWFyZ2luOiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuICAgIG1hcmdpbjogMnB4IDAgMCA0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5nZm9ybV93cmFwcGVyIC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1sZWZ0OiAxcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmRlc2NyaXB0aW9uLC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZGVzY3JpcHRpb24sLmdmb3JtX3dyYXBwZXIgLmdzZWN0aW9uX2Rlc2NyaXB0aW9uLC5nZm9ybV93cmFwcGVyIC5pbnN0cnVjdGlvbiB7XG4gICAgZm9udC1zaXplOiAuODEzZW07XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZGVzY3JpcHRpb24sLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kZXNjcmlwdGlvbiwuZ2Zvcm1fd3JhcHBlciAuZ3NlY3Rpb25fZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDAgMTZweCAwIDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAxNnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5maWVsZF9zdWJsYWJlbF9hYm92ZSAuZGVzY3JpcHRpb24sLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5nZmllbGRfZGVzY3JpcHRpb24sLmdmb3JtX3dyYXBwZXIgLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogOXB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdzZWN0aW9uX2Rlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDEwMCVcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmRlc2NyaXB0aW9uX2Fib3ZlIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4XG59XG5cbi5nZmllbGRfZGF0ZV95ZWFyKy5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IC5nZmllbGRfY29uc2VudF9kZXNjcmlwdGlvbiwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2NvbnNlbnRfZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgcGFkZGluZzogNnB4IDhweDtcbiAgICBmb250LXNpemU6IC42ODhlbVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICBjb2xvcjogIzc5MDAwMDtcbiAgICBtYXJnaW4tbGVmdDogNHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IsLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjIzLDIyNCwuMjUpO1xuICAgIG1hcmdpbi1ib3R0b206IDZweCFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDODk3OTc7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDODk3OTc7XG4gICAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3hcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9jcmVkaXRjYXJkX3dhcm5pbmcge1xuICAgIHBhZGRpbmc6IDE2cHggMTZweCAxNHB4O1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjNzkwMDAwO1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjNzkwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDIyMywyMjQsLjI1KTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweClcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIHtcbiAgICBwYWRkaW5nOiAxNnB4IDE2cHggMTRweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyBkaXYuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZ19tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IC44NzVlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgY29sb3I6ICM3OTAwMDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyBkaXYuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZ19tZXNzYWdlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMCAxNHB4IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGxldHRlci1zcGFjaW5nOiAuMXB0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzkwMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hMUzBnUjJWdVpYSmhkRzl5T2lCQlpHOWlaU0JKYkd4MWMzUnlZWFJ2Y2lBeE9TNHhMakFzSUZOV1J5QkZlSEJ2Y25RZ1VHeDFaeTFKYmlBdUlGTldSeUJXWlhKemFXOXVPaUEyTGpBd0lFSjFhV3hrSURBcElDQXRMVDROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5JSFpsY25OcGIyNDlJakV1TVNJZ2FXUTlJa3hoZVdWeVh6RWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZzlJakJ3ZUNJZ2VUMGlNSEI0SWcwS0NTQjJhV1YzUW05NFBTSXRNVEEyTnlBeU9EWTFJREkwSURNeUlpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJQzB4TURZM0lESTROalVnTWpRZ016STdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0TkNqeHpkSGxzWlNCMGVYQmxQU0owWlhoMEwyTnpjeUkrRFFvSkxuTjBNSHRtYVd4c09pTTNPVEF3TURBN2ZRMEtQQzl6ZEhsc1pUNE5Danh3WVhSb0lHTnNZWE56UFNKemREQWlJR1E5SWswdE1UQTFNeXd5T0RZMVl5MDFMalVzTUMweE1DdzBMalV0TVRBc01UQm9OR013TFRNdU15d3lMamN0Tml3MkxUWmpNeTR6TERBc05pd3lMamNzTml3MmRqSm9MVEl3ZGpFMFl6QXNNeTR6TERJdU55dzJMRFlzTm1neE1nMEtDV016TGpNc01DdzJMVEl1Tnl3MkxUWjJMVEUyUXkweE1EUXpMREk0TmprdU5TMHhNRFEzTGpVc01qZzJOUzB4TURVekxESTROalY2SUUwdE1UQTBPU3d5T0RremFDMHhNbU10TVM0eExEQXRNaTB3TGprdE1pMHlkaTB4TUdneE5uWXhNQTBLQ1VNdE1UQTBOeXd5T0RreUxqRXRNVEEwTnk0NUxESTRPVE10TVRBME9Td3lPRGt6ZWlCTkxURXdOVE1zTWpnNE4yTXdMREV1TVMwd0xqa3NNaTB5TERKekxUSXRNQzQ1TFRJdE1tTXdMVEV1TVN3d0xqa3RNaXd5TFRKVExURXdOVE1zTWpnNE5TNDVMVEV3TlRNc01qZzROM29pTHo0TkNqd3ZjM1puUGcwSyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gYXV0bztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyXG59XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyBkaXYuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZ19tZXNzYWdlIHtcbiAgICBwYWRkaW5nOiAxNnB4IDE2cHggMTRweFxufVxuXG5saS5nZmllbGQrbGkuZ2ZpZWxkLmdmaWVsZF9jcmVkaXRjYXJkX3dhcm5pbmcge1xuICAgIG1hcmdpbi10b3A6IDE2cHghaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9lcnJvciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweClcbn1cblxuLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2Vycm9yIGlucHV0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9lcnJvciBzZWxlY3QubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhLnRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCAuZ2ZpZWxkX2Vycm9yIGlucHV0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5nZmllbGRfZXJyb3Igc2VsZWN0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5nZmllbGRfZXJyb3IgdGV4dGFyZWEudGV4dGFyZWEsLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5nZmllbGRfZXJyb3IgaW5wdXQubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5nZmllbGRfZXJyb3Igc2VsZWN0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCAuZ2ZpZWxkX2Vycm9yIHRleHRhcmVhLnRleHRhcmVhIHtcbiAgICB3aWR0aDogNzAlXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCB7XG4gICAgY29sb3I6ICM3OTAwMDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZGl2LmdmaWVsZF90aW1lX2FtcG0uZ2lucHV0X2NvbnRhaW5lciwuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZCBkaXYuZ2ZpZWxkX3RpbWVfbWludXRlLmdpbnB1dF9jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGRpdi5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGRpdi5naW5wdXRfY29udGFpbmVyLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMTJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZCBmaWVsZHNldCBsZWdlbmQuZ2ZpZWxkX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIGRpdi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBjb2xvcjogIzc5MDAwMDtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICM3OTAwMDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3OTAwMDA7XG4gICAgcGFkZGluZzogMTZweCAwO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG4uZ2Zvcm1fd3JhcHBlciBvbC52YWxpZGF0aW9uX2xpc3Qge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgY29sb3I6ICM3OTAwMDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgb2wudmFsaWRhdGlvbl9saXN0IGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwhaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIG9sLnZhbGlkYXRpb25fbGlzdCBsaSBhIHtcbiAgICBjb2xvcjogIzc5MDAwMFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBkaXYjZXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGJvZHkgdHIgdGQuZ2ZpZWxkX2xpc3RfaWNvbnMge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUhaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlXG59XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZCBmaWVsZHNldD4qIHtcbiAgICB3aWR0aDogYXV0b1xufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgZmllbGRzZXQgbGVnZW5kLmdmaWVsZF9sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDMycHhcbn1cblxuZGl2LmdmX3BhZ2Vfc3RlcHMrZGl2LnZhbGlkYXRpb25fZXJyb3Ige1xuICAgIG1hcmdpbi10b3A6IDE2cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgZGl2LmdmaWVsZF9kZXNjcmlwdGlvbi52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICBjb2xvcjogIzc5MDAwMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogLjg3NWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICBjb2xvcjogIzc5MDAwMDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWxcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkX2Vycm9yIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9YnV0dG9uXSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSwuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGRfZXJyb3IgdGV4dGFyZWEge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3OTAwMDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIGxhYmVsLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZF9lcnJvciB1bC5nZmllbGRfY2hlY2tib3gsLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkX2Vycm9yIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgY29sb3I6ICM3OTAwMDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG4gICAgcGFkZGluZzogMTZweCAwIDEwcHg7XG4gICAgbWFyZ2luOiAxNnB4IDAgMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB3aWR0aDogMTAwJVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiwuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XSwuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXQuYnV0dG9uLC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDE2cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBhLmdmb3JtX3NhdmVfbGluaywuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgYS5nZm9ybV9zYXZlX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9aW1hZ2VdIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiBhdXRvIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAwIDAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTZweCFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlXG59XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwsLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCwuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCB7XG4gICAgbWluLWhlaWdodDogNDVweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT1lbWFpbF0sLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0W3R5cGU9bnVtYmVyXSwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT1wYXNzd29yZF0sLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0W3R5cGU9dGVsXSwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT10ZXh0XSwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT11cmxdLC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCBzZWxlY3QsLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCBpbnB1dFt0eXBlPWVtYWlsXSwuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0W3R5cGU9bnVtYmVyXSwuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0W3R5cGU9cGFzc3dvcmRdLC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT10ZWxdLC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2Z1bGwgaW5wdXRbdHlwZT10ZXh0XSwuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9mdWxsIGlucHV0W3R5cGU9dXJsXSB7XG4gICAgd2lkdGg6IDEwMCVcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yXG59XG5cbi5nY2hvaWNlX3NlbGVjdF9hbGwsLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQrbGFiZWwsLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXQuZGF0ZXBpY2tlci5kYXRlcGlja2VyX3dpdGhfaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHghaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9ja1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZfaGlkZGVuLC5nZm9ybV93cmFwcGVyIC5nZm9ybV9oaWRkZW4sLmdmb3JtX3dyYXBwZXIgaW5wdXQuZ2Zvcm1faGlkZGVuLC5nZm9ybV93cmFwcGVyIGlucHV0W3R5cGU9aGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogMXB4IWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9pbnZpc2libGUsLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF92aXNpYmlsaXR5X2hpZGRlbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfZnVsbCBiciwuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2xlZnQgYnIsLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9yaWdodCBiciB7XG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgcGFkZGluZzogMCFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0K2lucHV0IHtcbiAgICBtYXJnaW4tbGVmdDogNHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9yYWRpbyBsaSBpbnB1dFt2YWx1ZT1nZl9vdGhlcl9jaG9pY2VdIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICBtYXJnaW4tdG9wOiA0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9kZXNjcmlwdGlvbisuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogNnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9saXN0Ky5nZmllbGRfZGVzY3JpcHRpb24udmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZF9odG1sIHtcbiAgICBtYXgtd2lkdGg6IDEwMCVcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9odG1sLmdmaWVsZF9ub19mb2xsb3dzX2Rlc2Mge1xuICAgIG1hcmdpbi10b3A6IDEwcHhcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciB1bCBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUhaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9hamF4X3NwaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogMTBweFxufVxuXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIsLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyLGJvZHkgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lcixib2R5IC5nZm9ybV93cmFwcGVyIGxpLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyLGJvZHkgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlIWltcG9ydGFudDtcbiAgICBsZWZ0OiAtOTAwMHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2FwdGNoYV9pbnB1dF9jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAzcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLnNpbXBsZV9jYXB0Y2hhX3NtYWxsIGlucHV0IHtcbiAgICB3aWR0aDogNjRweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuc2ltcGxlX2NhcHRjaGFfbWVkaXVtIGlucHV0IHtcbiAgICB3aWR0aDogOTZweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuc2ltcGxlX2NhcHRjaGFfbGFyZ2UgaW5wdXQge1xuICAgIHdpZHRoOiAxMjhweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCAuc2ltcGxlX2NhcHRjaGFfc21hbGwsLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgLnNpbXBsZV9jYXB0Y2hhX2xhcmdlLC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5zaW1wbGVfY2FwdGNoYV9tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5zaW1wbGVfY2FwdGNoYV9sYXJnZSwuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgLnNpbXBsZV9jYXB0Y2hhX21lZGl1bSwuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgLnNpbXBsZV9jYXB0Y2hhX3NtYWxsIHtcbiAgICBtYXJnaW4tbGVmdDogMzIlXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2FwdGNoYV9jb250YWluZXIgaW1nLmdmaWVsZF9jYXB0Y2hhIHtcbiAgICBib3JkZXI6IG5vbmUhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IDAgMCFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IG5vbmUhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgLm1hdGhfbGFyZ2UsLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgLm1hdGhfbWVkaXVtLC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5tYXRoX3NtYWxsLC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIGRpdi5jaGFybGVmdCwuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgLm1hdGhfbGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5tYXRoX21lZGl1bSwuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgLm1hdGhfc21hbGwsLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIGRpdi5jaGFybGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMyJVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAubWF0aF9zbWFsbCBpbnB1dCB7XG4gICAgd2lkdGg6IDcwcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLm1hdGhfbWVkaXVtIGlucHV0IHtcbiAgICB3aWR0aDogNTEwcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLm1hdGhfbGFyZ2UgaW5wdXQge1xuICAgIHdpZHRoOiA2MTJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBkaXYuY2hhcmxlZnQge1xuICAgIGZvbnQtc2l6ZTogLjY4OGVtO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBjb2xvcjogIzc2NzY3NjtcbiAgICB3aWR0aDogOTIlIWltcG9ydGFudFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBkaXYuY2hhcmxlZnRbc3R5bGVdIHtcbiAgICB3aWR0aDogOTIlIWltcG9ydGFudFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBkaXYuY2hhcmxlZnQuZ2lucHV0X2NvdW50ZXJfdGlueW1jZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgcGFkZGluZzogNHB4IDlweDtcbiAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgZGl2LmNoYXJsZWZ0Lndhcm5pbmdUZXh0YXJlYUluZm8ge1xuICAgIGNvbG9yOiAjNzY3Njc2XG59XG5cbi5nZm9ybV93cmFwcGVyIGRpdi5jaGFybGVmdC5naW5wdXRfY291bnRlcl9lcnJvciB7XG4gICAgY29sb3I6IHJlZFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZl9oaWRlX2NoYXJsZWZ0IGRpdi5jaGFybGVmdCB7XG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnRcbn1cblxuLmdmX3N1Ym1pc3Npb25fbGltaXRfbWVzc2FnZSB7XG4gICAgY29sb3I6ICM3OTAwMDA7XG4gICAgZm9udC1zaXplOiAxLjM3NWVtXG59XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfcHJpY2Uge1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT03MCk7XG4gICAgLW1vei1vcGFjaXR5OiAuNztcbiAgICAta2h0bWwtb3BhY2l0eTogLjc7XG4gICAgb3BhY2l0eTogLjdcbn1cblxuLmdmb3JtX3dyYXBwZXIgc3Bhbi5naW5wdXRfdG90YWwge1xuICAgIGNvbG9yOiAjMDYwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIHNwYW4uZ2lucHV0X3RvdGFsIHtcbiAgICBtYXJnaW46IDhweCAwXG59XG5cbi5nZm9ybV93cmFwcGVyIHNwYW4uZ2lucHV0X3Byb2R1Y3RfcHJpY2VfbGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogMnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIHNwYW4uZ2lucHV0X3Byb2R1Y3RfcHJpY2Uge1xuICAgIGNvbG9yOiAjOTAwXG59XG5cbi5nZm9ybV93cmFwcGVyIHNwYW4uZ2lucHV0X3F1YW50aXR5X2xhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBpbnB1dC5naW5wdXRfcXVhbnRpdHlbdHlwZT10ZXh0XSB7XG4gICAgd2lkdGg6IDNyZW1cbn1cblxuLmdmb3JtX3dyYXBwZXIgaW5wdXQuZ2lucHV0X3F1YW50aXR5W3R5cGU9bnVtYmVyXSB7XG4gICAgd2lkdGg6IDRyZW1cbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIHtcbiAgICBtYXJnaW46IDE0cHggMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggZG90dGVkICNDQ0M7XG4gICAgcGFkZGluZzogMTZweCAwIDA7XG4gICAgY2xlYXI6IGJvdGhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyLmxlZnRfbGFiZWwsLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyLnJpZ2h0X2xhYmVsIHtcbiAgICBwYWRkaW5nOiAxNnB4IDAgMCAyOSVcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fbmV4dF9idXR0b24sLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3Byb2dyZXNzYmFyX3dyYXBwZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gICAgcGFkZGluZzogMCAwIDE2cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3Byb2dyZXNzYmFyX3dyYXBwZXIgaDMuZ2ZfcHJvZ3Jlc3NiYXJfdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogLjgxM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMCA4cHggMTJweCFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTYwKTtcbiAgICAtbW96LW9wYWNpdHk6IC42O1xuICAgIC1raHRtbC1vcGFjaXR5OiAuNjtcbiAgICBvcGFjaXR5OiAuNlxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZfcHJvZ3Jlc3NiYXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjEpO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSk7XG4gICAgd2lkdGg6IDEwMCVcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3Byb2dyZXNzYmFyX3BlcmNlbnRhZ2Uge1xuICAgIGhlaWdodDogMjRweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LWZhbWlseTogaGVsdmV0aWNhLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAuODEzZW0haW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLDAsMCwuNSk7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgtNDVkZWcscmdiYSgwLDAsMCwwKSxyZ2JhKDAsMCwwLDApIDEwcHgscmdiYSgwLDAsMCwuMSkgMTBweCxyZ2JhKDAsMCwwLC4xKSAyMHB4KSxsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuMykpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHggNHB4IDRweCAyMHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9wcm9ncmVzc2JhcjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTkwO1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4xKTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggMnB4IHJnYmEoMCwwLDAsLjA1KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggMnB4IHJnYmEoMCwwLDAsLjA1KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4IDJweCByZ2JhKDAsMCwwLC4wNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZfcHJvZ3Jlc3NiYXJfcGVyY2VudGFnZS5wZXJjZW50YmFyXzEwMCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIwcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3Byb2dyZXNzYmFyX3BlcmNlbnRhZ2Ugc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuOFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZfcHJvZ3Jlc3NiYXJfcGVyY2VudGFnZS5wZXJjZW50YmFyXzAgc3BhbiB7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgZmxvYXQ6IG5vbmUhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIHdvcmQtd3JhcDogbm9ybWFsXG59XG5cbi5nZm9ybV93cmFwcGVyIC5wZXJjZW50YmFyX2JsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzY0OTM7XG4gICAgY29sb3I6ICNGRkZcbn1cblxuLmdmb3JtX3dyYXBwZXIgLnBlcmNlbnRiYXJfZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdDN0M3QztcbiAgICBjb2xvcjogI0ZGRlxufVxuXG4uZ2Zvcm1fd3JhcHBlciAucGVyY2VudGJhcl9ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4QjgzMTtcbiAgICBjb2xvcjogI0ZGRlxufVxuXG4uZ2Zvcm1fd3JhcHBlciAucGVyY2VudGJhcl9vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjcxMjA7XG4gICAgY29sb3I6ICNGRkZcbn1cblxuLmdmb3JtX3dyYXBwZXIgLnBlcmNlbnRiYXJfcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYyQTFBO1xuICAgIGNvbG9yOiAjRkZGXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9wYWdlX3N0ZXBzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgcGFkZGluZzogMCAwIDRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNDQ0Ncbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjRweCAyNHB4IDI0cHggMDtcbiAgICBmb250LXNpemU6IC44NzVlbTtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjUhaW1wb3J0YW50O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0yMCk7XG4gICAgLW1vei1vcGFjaXR5OiAuMjtcbiAgICAta2h0bWwtb3BhY2l0eTogLjI7XG4gICAgb3BhY2l0eTogLjI7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAgc3Bhbi5nZl9zdGVwX251bWJlciB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgZm9udC1mYW1pbHk6IGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmX3N0ZXAgc3Bhbi5nZl9zdGVwX2xhYmVsLC5nZm9ybV93cmFwcGVyIC5nZl9zdGVwIHNwYW4uZ2Zfc3RlcF9udW1iZXIge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZl9zdGVwLmdmX3N0ZXBfYWN0aXZlIHtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgICAtbW96LW9wYWNpdHk6IDE7XG4gICAgLWtodG1sLW9wYWNpdHk6IDE7XG4gICAgb3BhY2l0eTogMVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zfc3RlcF9jbGVhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlblxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xuICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjREREXG59XG5cbi5nZm9ybV93cmFwcGVyIHVsLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZCAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgdWwubGVmdF9sYWJlbCBsaS5nZmllbGQgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aCwuZ2Zvcm1fd3JhcHBlciB1bC5yaWdodF9sYWJlbCBsaS5nZmllbGQgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aCB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHdpZHRoOiAxMDAlXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGguYmFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZCNzhDO1xuICAgIGJvcmRlci1jb2xvcjogI0ZGODUzQztcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI0ZGODUzQ1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoLmdvb2Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkVDOGI7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkMwO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjRkMwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgubWlzbWF0Y2gsLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5zaG9ydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQTBBMDtcbiAgICBib3JkZXItY29sb3I6ICNmMDQwNDA7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmMDQwNDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9wYXNzd29yZF9zdHJlbmd0aC5zdHJvbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDM0ZGODg7XG4gICAgYm9yZGVyLWNvbG9yOiAjOERGRjFDO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjOERGRjFDXG59XG5cbi5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0LC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IGNhcHRpb24sLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGJvZHksLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGQsLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGZvb3QsLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGgsLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGhlYWQsLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZVxufVxuXG4uZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGF1dG8haW1wb3J0YW50XG59XG5cbi5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyB7XG4gICAgcGFkZGluZy10b3A6IDE1cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGhlYWQgdGgge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdFxufVxuXG4uZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCBjb2xncm91cCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2tcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB0YWJsZS5nZmllbGRfbGlzdCB0aGVhZCB0aCB7XG4gICAgY29sb3I6ICM3OTAwMDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGhlYWQsLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRkLC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRoIHtcbiAgICBwYWRkaW5nOiA0cHggMFxufVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIHRhYmxlLmdmaWVsZF9saXN0IHRoIHtcbiAgICBwYWRkaW5nOiAwIDAgNHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRkK3RkLC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRoK3RoIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZmllbGRfbGlzdCwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2xpc3QgdGQuZ2ZpZWxkX2xpc3RfY2VsbCBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCVcbn1cblxuLmdmaWVsZF9pY29uX2Rpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQhaW1wb3J0YW50O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7XG4gICAgLW1vei1vcGFjaXR5OiAuNjtcbiAgICAta2h0bWwtb3BhY2l0eTogLjY7XG4gICAgb3BhY2l0eTogLjZcbn1cblxuLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIgdGQuZ2ZpZWxkX2xpc3RfaWNvbnMge1xuICAgIHdpZHRoOiA0OHB4IWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDAgMCA0cHghaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3hcbn1cblxuLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGQuZ2ZpZWxkX2xpc3RfaWNvbnMgaW1nIHtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luOiA4cHggMCA2cHg7XG4gICAgaGVpZ2h0OiAzMnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV9jYXJkX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgIHRleHQtaW5kZW50OiAtOTAwMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZ2YtY3JlZGl0Y2FyZC1pY29ucy5wbmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGZsb2F0OiBsZWZ0XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fdmlzYSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX3Zpc2Ege1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTMycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9pbmFjdGl2ZS5nZm9ybV9jYXJkX2ljb25fdmlzYSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUxIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX21hc3RlcmNhcmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IDBcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9zZWxlY3RlZC5nZm9ybV9jYXJkX2ljb25fbWFzdGVyY2FyZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTMycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9pbmFjdGl2ZS5nZm9ybV9jYXJkX2ljb25fbWFzdGVyY2FyZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTY0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9hbWV4IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX2FtZXgge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0zMnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX2FtZXgge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC02NHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fZGlzY292ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX2Rpc2NvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTMycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9pbmFjdGl2ZS5nZm9ybV9jYXJkX2ljb25fZGlzY292ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtNjRweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUxIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX21hZXN0cm8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX21hZXN0cm8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUxIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX2luYWN0aXZlLmdmb3JtX2NhcmRfaWNvbl9tYWVzdHJvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTY0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMSBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9qY2Ige1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODBweCAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX2pjYiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IC0zMnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTEgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX2pjYiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IC02NHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fdmlzYSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9zZWxlY3RlZC5nZm9ybV9jYXJkX2ljb25fdmlzYSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjI0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9pbmFjdGl2ZS5nZm9ybV9jYXJkX2ljb25fdmlzYSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjU2cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9tYXN0ZXJjYXJkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTkycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9zZWxlY3RlZC5nZm9ybV9jYXJkX2ljb25fbWFzdGVyY2FyZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTIyNHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25faW5hY3RpdmUuZ2Zvcm1fY2FyZF9pY29uX21hc3RlcmNhcmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0yNTZweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUyIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX2FtZXgge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xOTJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUyIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX3NlbGVjdGVkLmdmb3JtX2NhcmRfaWNvbl9hbWV4IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMjI0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9pbmFjdGl2ZS5nZm9ybV9jYXJkX2ljb25fYW1leCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTI1NnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fZGlzY292ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMTkycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9zZWxlY3RlZC5nZm9ybV9jYXJkX2ljb25fZGlzY292ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMjI0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9pbmFjdGl2ZS5nZm9ybV9jYXJkX2ljb25fZGlzY292ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMjU2cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9tYWVzdHJvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE5MnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyLmdmb3JtX2NhcmRfaWNvbl9zdHlsZTIgZGl2Lmdmb3JtX2NhcmRfaWNvbi5nZm9ybV9jYXJkX2ljb25fc2VsZWN0ZWQuZ2Zvcm1fY2FyZF9pY29uX21hZXN0cm8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMjI0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9pbmFjdGl2ZS5nZm9ybV9jYXJkX2ljb25fbWFlc3RybyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0yNTZweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUyIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX2pjYiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IC0xOTJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fY2FyZF9pY29uX2NvbnRhaW5lci5nZm9ybV9jYXJkX2ljb25fc3R5bGUyIGRpdi5nZm9ybV9jYXJkX2ljb24uZ2Zvcm1fY2FyZF9pY29uX3NlbGVjdGVkLmdmb3JtX2NhcmRfaWNvbl9qY2Ige1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODBweCAtMjI0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2NhcmRfaWNvbl9jb250YWluZXIuZ2Zvcm1fY2FyZF9pY29uX3N0eWxlMiBkaXYuZ2Zvcm1fY2FyZF9pY29uLmdmb3JtX2NhcmRfaWNvbl9pbmFjdGl2ZS5nZm9ybV9jYXJkX2ljb25famNiIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgwcHggLTI1NnB4XG59XG5cbi5nZm9ybV9jYXJkX2ljb25fY29udGFpbmVyIGlucHV0W3R5cGU9cmFkaW9dI2dmb3JtX3BheW1lbnRfbWV0aG9kX2NyZWRpdGNhcmQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDRweCFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fcmlnaHQge1xuICAgIG1pbi13aWR0aDogODVweCFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IHNwYW4uZ2lucHV0X2NhcmRleHRyYXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW5cbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fbGVmdCBzcGFuLmdpbnB1dF9jYXJkX2V4cGlyYXRpb25fY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxNjBweCFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fbGVmdCBzcGFuLmdpbnB1dF9jYXJkX2V4cGlyYXRpb25fY29udGFpbmVyIHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX3JpZ2h0IGlucHV0LmdpbnB1dF9jYXJkX3NlY3VyaXR5X2NvZGUge1xuICAgIG1heC13aWR0aDogNTAlIWltcG9ydGFudFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9jYXJkaW5mb19yaWdodCBzcGFuLmdpbnB1dF9jYXJkX3NlY3VyaXR5X2NvZGVfaWNvbiB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAyM3B4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvZ2YtY3JlZGl0Y2FyZC1pY29ucy5wbmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTI4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgICBsZWZ0OiA2cHg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrXG59XG5cbi5nZm9ybV93cmFwcGVyIC5nZm9ybV9maWxldXBsb2FkX211bHRpZmlsZSAuZ2Zvcm1fZHJvcF9hcmVhIHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjQ0NDO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI0FBQTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjAyKTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgc3Bhbi5nZm9ybV9kcm9wX2luc3RydWN0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4XG59XG5cbi5nZm9ybV9kZWxldGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY3Vyc29yOiBwb2ludGVyXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jb3B5X3ZhbHVlc19vcHRpb25fY29udGFpbmVyIC5jb3B5X3ZhbHVlc19lbmFibGVkIHtcbiAgICB3aWR0aDogYXV0b1xufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5maWVsZF9zdWJsYWJlbF9hYm92ZSAuZ2lucHV0X2NvbXBsZXggaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5mb3JtX3NhdmVkX21lc3NhZ2Uge1xuICAgIG1hcmdpbjogMWVtIGF1dG87XG4gICAgcGFkZGluZzogM2VtIDJlbTtcbiAgICB3aWR0aDogOTklO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgY29sb3I6IHJnYmEoNDksMTEyLDE0MywxKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNywyNDMsMjQzLDEpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmZvcm1fc2F2ZWRfbWVzc2FnZSBmb3JtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXJcbn1cblxuLmZvcm1fc2F2ZWRfbWVzc2FnZSBwLnJlc3VtZV9mb3JtX2xpbmtfd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBtYXgtd2lkdGg6IDk4JSFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDJweCAwIHJnYmEoNjYsMTAzLDEyNiwuMik7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDNweCAycHggMCByZ2JhKDY2LDEwMywxMjYsLjIpO1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDJweCAwIHJnYmEoNjYsMTAzLDEyNiwuMilcbn1cblxuLmZvcm1fc2F2ZWRfbWVzc2FnZSBhLnJlc3VtZV9mb3JtX2xpbmsge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IHJnYmEoNDcsOTksMTI2LDEpXG59XG5cbi5mb3JtX3NhdmVkX21lc3NhZ2UgLmZvcm1fc2F2ZWRfbWVzc2FnZV9lbWFpbGZvcm0ge1xuICAgIG1hcmdpbjogMWVtIDAgMFxufVxuXG4uZm9ybV9zYXZlZF9tZXNzYWdlIGxhYmVsLmZvcm1fc2F2ZWRfbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTAwMHB4XG59XG5cbmRpdi5mb3JtX3NhdmVkX21lc3NhZ2UgZGl2LmZvcm1fc2F2ZWRfbWVzc2FnZV9lbWFpbGZvcm0gZm9ybSBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuMjVlbVxufVxuXG5kaXYuZm9ybV9zYXZlZF9tZXNzYWdlIGRpdi5mb3JtX3NhdmVkX21lc3NhZ2VfZW1haWxmb3JtIGZvcm0gaW5wdXQge1xuICAgIG1hcmdpbjogLjc1ZW0gYXV0byAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9ja1xufVxuXG5kaXYuZm9ybV9zYXZlZF9tZXNzYWdlIGRpdi5mb3JtX3NhdmVkX21lc3NhZ2VfZW1haWxmb3JtIGZvcm0gaW5wdXRbdHlwZT1lbWFpbF0ge1xuICAgIHBhZGRpbmc6IGNhbGMoLjc1ZW0gLSAxcHgpIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjRlbTtcbiAgICBtYXgtd2lkdGg6IDk4JSFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0NSwxNzUsMTk5LDEpO1xuICAgIGNvbG9yOiByZ2JhKDY2LDY2LDY2LDEpO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDVweCAwIHJnYmEoMjM4LDIzOCwyMzgsMSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IDAgcmdiYSgyMzgsMjM4LDIzOCwxKTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IDAgcmdiYSgyMzgsMjM4LDIzOCwxKVxufVxuXG5kaXYuZm9ybV9zYXZlZF9tZXNzYWdlIGRpdi5mb3JtX3NhdmVkX21lc3NhZ2VfZW1haWxmb3JtIGZvcm0gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICBwYWRkaW5nOiAuNzVlbSAxZW07XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNDUsMTc1LDE5OSwxKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0NSwxNzUsMTk5LDEpO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1NjYsMSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgZGl2LmZvcm1fc2F2ZWRfbWVzc2FnZSBkaXYuZm9ybV9zYXZlZF9tZXNzYWdlX2VtYWlsZm9ybSBmb3JtIGlucHV0W3R5cGU9ZW1haWxdLGRpdi5mb3JtX3NhdmVkX21lc3NhZ2UgZGl2LmZvcm1fc2F2ZWRfbWVzc2FnZV9lbWFpbGZvcm0gZm9ybSBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB3aWR0aDogOTglXG4gICAgfVxufVxuXG4uZm9ybV9zYXZlZF9tZXNzYWdlIC5mb3JtX3NhdmVkX21lc3NhZ2VfZW1haWxmb3JtIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgIGNvbG9yOiAjNzkwMDAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMmVtXG59XG5cbi5mb3JtX3NhdmVkX21lc3NhZ2Vfc2VudCB7XG4gICAgbWFyZ2luOiAxZW0gYXV0bztcbiAgICBwYWRkaW5nOiAzZW0gMmVtO1xuICAgIHdpZHRoOiA5OSU7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzMsMjU1LDIxNywxKTtcbiAgICBjb2xvcjogcmdiYSg2MCwxMTgsNjEsMSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94XG59XG5cbi5mb3JtX3NhdmVkX21lc3NhZ2Vfc2VudCAuc2F2ZWRfbWVzc2FnZV9lbWFpbCwuZm9ybV9zYXZlZF9tZXNzYWdlX3NlbnQgLnNhdmVkX21lc3NhZ2Vfc3VjY2VzcyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMlxufVxuXG4uZm9ybV9zYXZlZF9tZXNzYWdlX3NlbnQgLnNhdmVkX21lc3NhZ2VfZW1haWwge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZVxufVxuXG5ib2R5ICNjb250ZW50IC5lbnRyeS1jb250ZW50IC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyICNyZWNhcHRjaGFfd2lkZ2V0X2RpdiAjcmVjYXB0Y2hhX2FyZWEgLnJlY2FwdGNoYXRhYmxlIHRib2R5IHRyIHRkIC5yZWNhcHRjaGFfaW5wdXRfYXJlYSxib2R5IC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyICNyZWNhcHRjaGFfd2lkZ2V0X2RpdiAjcmVjYXB0Y2hhX2FyZWEgLnJlY2FwdGNoYXRhYmxlIHRib2R5IHRyIHRkIC5yZWNhcHRjaGFfaW5wdXRfYXJlYSB7XG4gICAgbGluZS1oZWlnaHQ6IDEhaW1wb3J0YW50XG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgaW1nLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XG4gICAgd2lkdGg6IDE3cHghaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTZweCFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrXG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgaW1nLmFkZF9saXN0X2l0ZW0sYm9keSAuZ2Zvcm1fd3JhcHBlciBpbWcuZGVsZXRlX2xpc3RfaXRlbSB7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IC0ycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgdWwgbGkuZ2ZpZWxkLmZpZWxkX3N1YmxhYmVsX2Fib3ZlLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93K2xpLmdmaWVsZCB7XG4gICAgbWFyZ2luLXRvcDogMTZweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQgdWwuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9cmFkaW9dK2lucHV0W3R5cGU9dGV4dF0ge1xuICAgIHdpZHRoOiA0NS4yNSVcbn1cblxuLmdmb3JtX3dyYXBwZXIgdGFibGUucmVjYXB0Y2hhdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogYXV0b1xufVxuXG4uZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGRpdi5naW5wdXRfY29udGFpbmVyX2NhcHRjaGEge1xuICAgIG1hcmdpbi1sZWZ0OiAyOSVcbn1cblxuLmdmaWVsZCAud3AtZWRpdG9yLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZFxufVxuXG4uZ2ZpZWxkIC53cC1zd2l0Y2gtZWRpdG9yIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGRcbn1cblxuLmdmaWVsZCAuaHRtbC1hY3RpdmUgLnN3aXRjaC1odG1sLC5nZmllbGQgLnRtY2UtYWN0aXZlIC5zd2l0Y2gtdG1jZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Y1ZjVmNVxufVxuXG4uZ2ZpZWxkIC5tY2UtZWRpdC1hcmVhIGlmcmFtZSB7XG4gICAgd2lkdGg6IDk5LjklIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAhaW1wb3J0YW50XG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgdWwgbGkuZ2ZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIHBhZGRpbmctdG9wOiAwXG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkcyBsaS5nZmllbGQgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnRcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdFxufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwgdWwgbGksYm9keSAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmctbGVmdDogMFxufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwgdWwsYm9keSAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAxNnB4IDAgMTZweCAyOHB4IWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDBcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIG9sIGxpLGJvZHkgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIG9sIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDBcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIG9sLGJvZHkgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIG9sIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMTZweCAwIDE4cHggMzJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDBcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIG9sIGxpIHVsLGJvZHkgLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIG9sIGxpIHVsIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMFxufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwgb2wgbGkgdWwge1xuICAgIG1hcmdpbjogMTZweCAwIDE2cHggMTZweFxufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCBvbCBsaSB1bCBsaSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4XG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCBkbCB7XG4gICAgbWFyZ2luOiAwIDAgMThweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDBcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fYm9keSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sIGRsIGR0IHtcbiAgICBmb250LXdlaWdodDogNzAwXG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZC5nZmllbGRfaHRtbCBkbCBkZCB7XG4gICAgbWFyZ2luOiAwIDAgMTZweCAxOHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIHNwYW4uZ2ZfY2xlYXJfc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tdG9wOiAtMXB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmVcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgKiB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3hcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1kcm9wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMTA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLDAsMCwuMTUpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDVweCByZ2JhKDAsMCwwLC4xNSk7XG4gICAgZGlzcGxheTogbm9uZVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tZHJvcCB7XG4gICAgZGlzcGxheTogYmxvY2tcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgYSB7XG4gICAgY3Vyc29yOiBwb2ludGVyXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tc2luZ2xlIC5ncm91cC1uYW1lLC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5zZWFyY2gtY2hvaWNlIC5ncm91cC1uYW1lIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzk5OVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXNpbmdsZSAuZ3JvdXAtbmFtZTphZnRlciwuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciAuc2VhcmNoLWNob2ljZSAuZ3JvdXAtbmFtZTphZnRlciB7XG4gICAgY29udGVudDogXCI6XCI7XG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgMCAwIDhweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxjb2xvci1zdG9wKDIwJSwjZmZmKSxjb2xvci1zdG9wKDUwJSwjZjZmNmY2KSxjb2xvci1zdG9wKDUyJSwjZWVlKSx0bygjZjRmNGY0KSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNmZmYgMjAlLCNmNmY2ZjYgNTAlLCNlZWUgNTIlLCNmNGY0ZjQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzcHggI2ZmZiBpbnNldCwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDNweCAjZmZmIGluc2V0LDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKTtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsaW5lLWhlaWdodDogMjRweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLWRlZmF1bHQge1xuICAgIGNvbG9yOiAjOTk5XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1yaWdodDogMjZweDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZS13aXRoLWRlc2VsZWN0IHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogMzhweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgYWJiciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNnB4O1xuICAgIHJpZ2h0OiAyNnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoY2hvc2VuLXNwcml0ZS5wbmcpIC00MnB4IDFweCBuby1yZXBlYXQ7XG4gICAgZm9udC1zaXplOiAxcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGFiYnI6aG92ZXIsLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLXNpbmdsZSBhYmJyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMTBweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMTAwJVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoY2hvc2VuLXNwcml0ZS5wbmcpIDAgMnB4IG5vLXJlcGVhdFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDEwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAzcHggNHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXBcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2VhcmNoIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIG1hcmdpbjogMXB4IDA7XG4gICAgcGFkZGluZzogNHB4IDIwcHggNHB4IDVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJhY2tncm91bmQ6IHVybChjaG9zZW4tc3ByaXRlLnBuZykgMTAwJSAtMjBweCBuby1yZXBlYXQ7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLWRyb3Age1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUtbm9zZWFyY2ggLmNob3Nlbi1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1hcmdpbjogMCA0cHggNHB4IDA7XG4gICAgcGFkZGluZzogMCAwIDAgNHB4O1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweCA2cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5hY3RpdmUtcmVzdWx0IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5kaXNhYmxlZC1yZXN1bHQge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICBjb2xvcjogI2NjYztcbiAgICBjdXJzb3I6IGRlZmF1bHRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmhpZ2hsaWdodGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzg3NWQ3O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMjAlLCMzODc1ZDcpLGNvbG9yLXN0b3AoOTAlLCMyYTYyYmMpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoIzM4NzVkNyAyMCUsIzJhNjJiYyA5MCUpO1xuICAgIGNvbG9yOiAjZmZmXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5uby1yZXN1bHRzIHtcbiAgICBjb2xvcjogIzc3NztcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgYmFja2dyb3VuZDogI2Y0ZjRmNFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuZ3JvdXAtcmVzdWx0IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjdXJzb3I6IGRlZmF1bHRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIGxpLmdyb3VwLW9wdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaSBlbSB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgxJSwjZWVlKSxjb2xvci1zdG9wKDE1JSwjZmZmKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNlZWUgMSUsI2ZmZiAxNSUpO1xuICAgIGN1cnNvcjogdGV4dFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmVcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1maWVsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIG1hcmdpbjogMXB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IDAgMCFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB3aWR0aDogMjVweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogM3B4IDVweCAzcHggMDtcbiAgICBwYWRkaW5nOiAzcHggMjBweCAzcHggNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMjAlLCNmNGY0ZjQpLGNvbG9yLXN0b3AoNTAlLCNmMGYwZjApLGNvbG9yLXN0b3AoNTIlLCNlOGU4ZTgpLHRvKCNlZWUpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2Y0ZjRmNCAyMCUsI2YwZjBmMCA1MCUsI2U4ZThlOCA1MiUsI2VlZSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTlweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAycHggI2ZmZiBpbnNldCwwIDFweCAwIHJnYmEoMCwwLDAsLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4ICNmZmYgaW5zZXQsMCAxcHggMCByZ2JhKDAsMCwwLC4wNSk7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgY3Vyc29yOiBkZWZhdWx0XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIHNwYW4ge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNHB4O1xuICAgIHJpZ2h0OiAzcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQ6IHVybChjaG9zZW4tc3ByaXRlLnBuZykgLTQycHggMXB4IG5vLXJlcGVhdDtcbiAgICBmb250LXNpemU6IDFweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSAuc2VhcmNoLWNob2ljZS1jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQycHggLTEwcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UtZGlzYWJsZWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgyMCUsI2Y0ZjRmNCksY29sb3Itc3RvcCg1MCUsI2YwZjBmMCksY29sb3Itc3RvcCg1MiUsI2U4ZThlOCksdG8oI2VlZSkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwjZjBmMGYwIDUwJSwjZThlOGU4IDUyJSwjZWVlIDEwMCUpO1xuICAgIGNvbG9yOiAjNjY2XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlLWZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDRkNGQ0XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlLWZvY3VzIC5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDJweCAtMTBweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tZHJvcCAucmVzdWx0LXNlbGVjdGVkIHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgY29sb3I6ICNjY2M7XG4gICAgY3Vyc29yOiBkZWZhdWx0XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLXNpbmdsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLDAsMCwuMyk7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLC4zKVxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMjAlLCNlZWUpLGNvbG9yLXN0b3AoODAlLCNmZmYpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2VlZSAyMCUsI2ZmZiA4MCUpO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggMCAjZmZmIGluc2V0O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgI2ZmZiBpbnNldFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJhY2tncm91bmQ6IDAgMFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci1hY3RpdmUuY2hvc2VuLXdpdGgtZHJvcCAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4cHggMnB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLWNob2ljZXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwwLDAsLjMpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLDAsMCwuMylcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItYWN0aXZlIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgY29sb3I6ICMyMjIhaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IC41IWltcG9ydGFudDtcbiAgICBjdXJzb3I6IGRlZmF1bHRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLWNob2ljZXMgLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2UsLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1kaXNhYmxlZCAuY2hvc2VuLXNpbmdsZSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZzogMCA4cHggMCAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMjZweDtcbiAgICBkaXJlY3Rpb246IHJ0bFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bCAuY2hvc2VuLXNpbmdsZS13aXRoLWRlc2VsZWN0IHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAzOHB4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIGRpdiB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogM3B4XG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsIC5jaG9zZW4tc2luZ2xlIGFiYnIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDI2cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwgLmNob3Nlbi1jaG9pY2VzIGxpIHtcbiAgICBmbG9hdDogcmlnaHRcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1maWVsZCBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICBkaXJlY3Rpb246IHJ0bFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bCAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWNob2ljZSB7XG4gICAgbWFyZ2luOiAzcHggNXB4IDNweCAwO1xuICAgIHBhZGRpbmc6IDNweCA1cHggM3B4IDE5cHhcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDRweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXJlc3VsdHMge1xuICAgIG1hcmdpbjogMCAwIDRweCA0cHg7XG4gICAgcGFkZGluZzogMCA0cHggMCAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1vcHRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwXG59XG5cbi5nZm9ybV93cmFwcGVyIC5jaG9zZW4tcnRsLmNob3Nlbi1jb250YWluZXItYWN0aXZlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUgZGl2IHtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmVcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1ydGwgLmNob3Nlbi1zZWFyY2ggaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgcGFkZGluZzogNHB4IDVweCA0cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoY2hvc2VuLXNwcml0ZS5wbmcpIC0zMHB4IC0yMHB4IG5vLXJlcGVhdDtcbiAgICBkaXJlY3Rpb246IHJ0bFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNnB4IDJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZS5jaG9zZW4td2l0aC1kcm9wIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTJweCAycHhcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246MTQ0ZHBpKSxvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOjEuNWRwcHgpIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMtc2Nyb2xsLWRvd24gc3BhbiwuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMtc2Nyb2xsLXVwIHNwYW4sLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIC5zZWFyY2gtY2hvaWNlIC5zZWFyY2gtY2hvaWNlLWNsb3NlLC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPXRleHRdLC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBhYmJyLC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSAuY2hvc2VuLXNpbmdsZSBkaXYgYiwuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLXJ0bCAuY2hvc2VuLXNlYXJjaCBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoY2hvc2VuLXNwcml0ZUAyeC5wbmcpIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1MnB4IDM3cHghaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0IWltcG9ydGFudFxuICAgIH1cbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lciBhLmNob3Nlbi1zaW5nbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXRcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlciB1bC5jaG9zZW4tcmVzdWx0cyBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXRcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDFweCkge1xuICAgIC5nZm9ybV93cmFwcGVyIC5jaG9zZW4tY29udGFpbmVyLmNob3Nlbi1jb250YWluZXItc2luZ2xlW3N0eWxlXSwuZ2Zvcm1fd3JhcHBlciBkaXYuY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLW11bHRpW3N0eWxlXSB7XG4gICAgICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPWltYWdlXSk6bm90KFt0eXBlPWZpbGVdKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgICBtaW4taGVpZ2h0OiAycmVtXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMi44XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDEwcHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuY2hvc2VuLWNvbnRhaW5lci5jaG9zZW4tY29udGFpbmVyLW11bHRpIHVsLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UsLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSB1bC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZsb2F0OiBub25lXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXIuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSB1bC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIHNwYW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIGxpLnNlYXJjaC1jaG9pY2UgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gNnB4KVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyIHNwYW46bm90KC5naW5wdXRfcHJpY2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9ja1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmZpZWxkX3N1YmxhYmVsX2JlbG93IC5naW5wdXRfY29tcGxleCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHghaW1wb3J0YW50XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLC5nZm9ybV93cmFwcGVyIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlclxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjFweCksKG1pbi1kZXZpY2Utd2lkdGg6NzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDoxMDIzcHgpIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvcitsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDozMnB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3Qge1xuICAgICAgICBib3JkZXI6IDBcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0aGVhZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5OXB4O1xuICAgICAgICBsZWZ0OiAtOTk5OXB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI0NDQztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNDQ0NcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHRhYmxlLmdmaWVsZF9saXN0IHRkLmdmaWVsZF9saXN0X2ljb25zIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiAxNnB4IDAgMCFpbXBvcnRhbnRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHMuZm9ybV9zdWJsYWJlbF9hYm92ZSB0YWJsZS5nZmllbGRfbGlzdCB0ZDpiZWZvcmUsLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzLmZvcm1fc3VibGFiZWxfYmVsb3cgdGFibGUuZ2ZpZWxkX2xpc3QgdGQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtbGFiZWwpO1xuICAgICAgICBmb250LXNpemU6IC44NzVlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcy5mb3JtX3N1YmxhYmVsX2Fib3ZlIHRhYmxlLmdmaWVsZF9saXN0IHRkOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogOHB4IDAgM3B4IDhweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcy5mb3JtX3N1YmxhYmVsX2JlbG93IHRhYmxlLmdmaWVsZF9saXN0IHRkOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luOiAzcHggMCA4cHggOHB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGQrdGQsLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdGgrdGgge1xuICAgICAgICBwYWRkaW5nOiA0cHggMCAwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIuZ2ZpZWxkX2xpc3Rfcm93X2V2ZW4sLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIuZ2ZpZWxkX2xpc3Rfcm93X29kZCB7XG4gICAgICAgIG1hcmdpbjogMTZweCAwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIsLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIuZ2ZpZWxkX2xpc3Rfcm93X29kZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMnB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdGFibGUuZ2ZpZWxkX2xpc3QgdHIgdGQuZ2ZpZWxkX2xpc3RfaWNvbnMge1xuICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4IDRweCFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ciB0ZC5nZmllbGRfbGlzdF9pY29ucyBpbWcuYWRkX2xpc3RfaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMTJweCAwIDAgMTZweCFpbXBvcnRhbnRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciB0YWJsZS5nZmllbGRfbGlzdCB0ciB0ZC5nZmllbGRfbGlzdF9pY29ucyBpbWcuZGVsZXRlX2xpc3RfaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMTJweCAwIDAgOHB4IWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgYS5nZm9ybV9zYXZlX2xpbmssLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIGEuZ2Zvcm1fc2F2ZV9saW5rIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2xpc3QgdGQuZ2ZpZWxkX2xpc3RfY2VsbCBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHhcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYm9keSB7XG4gICAgICAgIHdpZHRoOjEwMCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIC5nZm9ybV9ib2R5IHVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3I6bm90KC5nZl9sZWZ0X2hhbGYpOm5vdCguZ2ZfcmlnaHRfaGFsZikge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfY2hlY2tib3ggbGksLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuM1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5nc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMjhweCAxNnB4IDI4cHggMFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMjklO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5nZmllbGRfbGFiZWwge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5nZmllbGRfZGVzY3JpcHRpb24sLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogNzAlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5sZWZ0X2xhYmVsIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciBmb3JtIHVsLmxlZnRfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpLC5nZm9ybV93cmFwcGVyIGZvcm0gdWwucmlnaHRfbGFiZWwgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLC5nZm9ybV93cmFwcGVyIGZvcm0gdWwucmlnaHRfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpLC5nZm9ybV93cmFwcGVyIHVsLmxlZnRfbGFiZWwgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLC5nZm9ybV93cmFwcGVyIHVsLmxlZnRfbGFiZWwgbGkgdWwuZ2ZpZWxkX3JhZGlvIGxpLC5nZm9ybV93cmFwcGVyIHVsLnJpZ2h0X2xhYmVsIGxpIHVsLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciB1bC5yaWdodF9sYWJlbCBsaSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgLmdmaWVsZF9kZXNjcmlwdGlvbiwuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCAuaW5zdHJ1Y3Rpb24sLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5nZmllbGRfZGVzY3JpcHRpb24sLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIC5pbnN0cnVjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyOSVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIC5nc2VjdGlvbiAuZ3NlY3Rpb25fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybSB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZF9odG1sX2Zvcm1hdHRlZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyOSUhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNzAlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSB1bC5nZmllbGRfY2hlY2tib3gsLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgZGl2LmdpbnB1dF9jb21wbGV4LC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCBkaXYuZ2lucHV0X2NvbXBsZXgge1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjklXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgaW5wdXQuc21hbGwsLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgc2VsZWN0LnNtYWxsLC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCBpbnB1dC5zbWFsbCwuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgc2VsZWN0LnNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDE1JVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIGlucHV0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCBzZWxlY3QubWVkaXVtLC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCBpbnB1dC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIHNlbGVjdC5tZWRpdW0ge1xuICAgICAgICB3aWR0aDogY2FsYygzNSUgLSA4cHgpXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgaW5wdXQubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgc2VsZWN0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIHRleHRhcmVhLmxhcmdlLC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIHRleHRhcmVhLm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCB0ZXh0YXJlYS5zbWFsbCwuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgaW5wdXQubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIHNlbGVjdC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgdGV4dGFyZWEubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIHRleHRhcmVhLm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAucmlnaHRfbGFiZWwgdGV4dGFyZWEuc21hbGwge1xuICAgICAgICB3aWR0aDogNzAlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZ2lucHV0X2xpc3Qge1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjklIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmaWVsZF9saXN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCAuZ2ZfbGlzdF9vbmVfY29sdW1uLC5nZm9ybV93cmFwcGVyIC5yaWdodF9sYWJlbCAuZ2ZfbGlzdF9vbmVfY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDQ1JVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgLmdmX2xpc3Rfb25lX2NvbHVtbiB7XG4gICAgICAgIHdpZHRoOiA0NiVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAubGVmdF9sYWJlbCBsaS5oaWRkZW5fbGFiZWwgaW5wdXQsLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIGxpLmhpZGRlbl9sYWJlbCBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzLjclXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmxlZnRfbGFiZWwgbGkuZ2ZpZWxkIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgsLmdmb3JtX3dyYXBwZXIgLnJpZ2h0X2xhYmVsIGxpLmdmaWVsZCAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI5JVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgaW5wdXQuc21hbGwsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBzZWxlY3Quc21hbGwge1xuICAgICAgICB3aWR0aDogMjUlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBzZWxlY3QubWVkaXVtIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gOHB4KVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgLnRvcF9sYWJlbCBpbnB1dC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciAudG9wX2xhYmVsIHNlbGVjdC5tZWRpdW0ge1xuICAgICAgICB3aWR0aDogNTAlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmhpZGRlbl9sYWJlbCBpbnB1dC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAuaGlkZGVuX2xhYmVsIHNlbGVjdC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGlucHV0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgc2VsZWN0LmxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGlucHV0LmxhcmdlLmRhdGVwaWNrZXIsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBpbnB1dC5tZWRpdW0uZGF0ZXBpY2tlciwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGlucHV0LnNtYWxsLmRhdGVwaWNrZXIge1xuICAgICAgICB3aWR0aDogYXV0b1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhLnNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHRleHRhcmVhLm1lZGl1bSB7XG4gICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdGV4dGFyZWEubGFyZ2Uge1xuICAgICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCwuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0LC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX2xlZnQge1xuICAgICAgICB3aWR0aDogNTAlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCwuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbjogMCAtNHB4IDAgMFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29udGFpbmVyX3Bhc3N3b3JkIC5naW5wdXRfcmlnaHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X2NhcmRpbmZvX2xlZnQsLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fcmlnaHQge1xuICAgICAgICBtaW4taGVpZ2h0OiA0M3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsb2F0OiBsZWZ0XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IHNlbGVjdC5naW5wdXRfY2FyZF9leHBpcmF0aW9uLmdpbnB1dF9jYXJkX2V4cGlyYXRpb25fbW9udGgsLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IHNlbGVjdC5naW5wdXRfY2FyZF9leHBpcmF0aW9uLmdpbnB1dF9jYXJkX2V4cGlyYXRpb25feWVhciB7XG4gICAgICAgIHdpZHRoOiA0NyUhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fbGVmdCBzZWxlY3QuZ2lucHV0X2NhcmRfZXhwaXJhdGlvbi5naW5wdXRfY2FyZF9leHBpcmF0aW9uX21vbnRoIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zfc3RlcCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDE2cHggMzJweCAxNnB4IDBcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiwuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9aW1hZ2VdLC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9ja1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5nZm9ybV9mb290ZXIgaW5wdXRbdHlwZT1pbWFnZV0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciBhLmdmb3JtX3NhdmVfbGluaywuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgYS5nZm9ybV9zYXZlX2xpbmsge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0LmJ1dHRvbiwuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIGlucHV0W3R5cGU9c3VibWl0XSwuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgaW5wdXQuYnV0dG9uLC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCAxNnB4IDAgMFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5sZWZ0X2xhYmVsIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3M6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9ja1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3MgLmdpbnB1dF9sZWZ0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lcl9hZGRyZXNzIC5naW5wdXRfcmlnaHQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC04cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyX2FkZHJlc3Mgc3Bhbi5naW5wdXRfZnVsbCtzcGFuLmdpbnB1dF9yaWdodCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweCFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyBzcGFuLmdpbnB1dF9yaWdodCtzcGFuLmdpbnB1dF9sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4IWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtOHB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXJfYWRkcmVzcyBzcGFuLmdpbnB1dF9yaWdodCtzcGFuLmdpbnB1dF9sZWZ0LmFkZHJlc3NfemlwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZCAuZ2ZpZWxkX3Bhc3N3b3JkX3N0cmVuZ3RoIHtcbiAgICAgICAgbWFyZ2luOiAxOHB4IDBcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyOm5vdCgudG9wX2xhYmVsKSB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCAxMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjklO1xuICAgICAgICB3aWR0aDogNzAlXG4gICAgfVxuXG4gICAgLnRvcF9sYWJlbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18xLC50b3BfbGFiZWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMiwudG9wX2xhYmVsIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzMge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTVweClcbiAgICB9XG5cbiAgICAudG9wX2xhYmVsIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTNweClcbiAgICB9XG5cbiAgICAudG9wX2xhYmVsIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTRweClcbiAgICB9XG5cbiAgICB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzEsdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18yLHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDcwJSArIDE1cHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjklXG4gICAgfVxuXG4gICAgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzEsdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzIsdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzMge1xuICAgICAgICB3aWR0aDogY2FsYyg3MCUgKyAyNHB4KVxuICAgIH1cblxuICAgIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfNCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDcwJSArIDEzcHgpO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjklXG4gICAgfVxuXG4gICAgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc181IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNzAlICsgMTRweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyOSVcbiAgICB9XG5cbiAgICBkaXYuZ2lucHV0X2NvbnRhaW5lcl9uYW1lIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC00cHhcbiAgICB9XG5cbiAgICBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18xIHNwYW4ge1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgIH1cblxuICAgIGRpdi5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyLmdmX25hbWVfaGFzXzIgc3BhbiB7XG4gICAgICAgIHdpZHRoOiA1MCVcbiAgICB9XG5cbiAgICBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18zIHNwYW4ge1xuICAgICAgICB3aWR0aDogMzMuMyVcbiAgICB9XG5cbiAgICBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc180IHNwYW4ge1xuICAgICAgICB3aWR0aDogMjUlXG4gICAgfVxuXG4gICAgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfNSBzcGFuIHtcbiAgICAgICAgd2lkdGg6IDE5Ljk1JVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18xIHNwYW4ge1xuICAgICAgICB3aWR0aDogOTkuNzUlIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18yIHNwYW4ge1xuICAgICAgICB3aWR0aDogNDkuNzUlIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18zIHNwYW4ge1xuICAgICAgICB3aWR0aDogMzMlIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc180IHNwYW4ge1xuICAgICAgICB3aWR0aDogMjQuNzUlIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc181IHNwYW4ge1xuICAgICAgICB3aWR0aDogMTkuNzUlIWltcG9ydGFudFxuICAgIH1cblxuICAgIGh0bWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMiBzcGFuOmZpcnN0LWNoaWxkLGh0bWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMyBzcGFuOmZpcnN0LWNoaWxkLGh0bWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfNCBzcGFuOmZpcnN0LWNoaWxkLGh0bWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfNSBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAhaW1wb3J0YW50XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2VtYWlsIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2VtYWlsIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNzAlICsgMTZweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyOSVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDcwJSArIDE3cHgpXG4gICAgfVxuXG4gICAgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDcwJSArIDhweCkhaW1wb3J0YW50XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCAuZ2lucHV0X2xlZnQsLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCAuZ2lucHV0X3JpZ2h0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmxlZnRfbGFiZWwgbGkuZ2ZpZWxkIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgsLmdmb3JtX3dyYXBwZXIgdWwucmlnaHRfbGFiZWwgbGkuZ2ZpZWxkIC5nZmllbGRfcGFzc3dvcmRfc3RyZW5ndGgge1xuICAgICAgICB3aWR0aDogNzAlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IHNwYW4uZ2lucHV0X2xlZnQraW5wdXQuZ2Zvcm1faGlkZGVuK3NwYW4uZ2lucHV0X2xlZnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdpbnB1dF9jb21wbGV4IHNwYW4uZ2lucHV0X2xlZnQuYWRkcmVzc19jb3VudHJ5IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwXG4gICAgfVxuXG4gICAgaHRtbDpub3QoW2Rpcj1ydGxdKSAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIC5jbGVhci1tdWx0aSxodG1sOm5vdChbZGlyPXJ0bF0pIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmdmaWVsZF9kZXNjcmlwdGlvbixodG1sOm5vdChbZGlyPXJ0bF0pIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgLmdpbnB1dF9jb250YWluZXI6bm90KC5naW5wdXRfY29udGFpbmVyX3RpbWUpOm5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyOSVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2ZfcHJvZ3Jlc3NiYXIge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweClcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIC5nZm9ybV9maWxldXBsb2FkX211bHRpZmlsZSAuZ2Zvcm1fZHJvcF9hcmVhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI5JTtcbiAgICAgICAgd2lkdGg6IDcwJVxuICAgIH1cblxuICAgIGJvZHkgLmdmb3JtX3dyYXBwZXIgc3Bhbi5naW5wdXRfbGVmdC5hZGRyZXNzX2NpdHkraW5wdXQuZ2Zvcm1faGlkZGVuK3NwYW4uZ2lucHV0X2xlZnQuYWRkcmVzc19jb3VudHJ5IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gOHB4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSAuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfcmVjYXB0Y2hhIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI5JSFpbXBvcnRhbnRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbi5nZm9ybV9wcmV2aW91c19idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24uZ2Zvcm1fYnV0dG9uLC5nZm9ybV93cmFwcGVyIC5nZm9ybV9wYWdlX2Zvb3RlciAuYnV0dG9uLmdmb3JtX25leHRfYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4XG4gICAgfVxuXG4gICAgYm9keSAuZ2Zvcm1fd3JhcHBlciBzZWxlY3QubWVkaXVtLmdmaWVsZF9zZWxlY3QrZGl2LmNob3Nlbi1jb250YWluZXItbXVsdGlbc3R5bGVdLGJvZHkgLmdmb3JtX3dyYXBwZXIgc2VsZWN0Lm1lZGl1bS5nZmllbGRfc2VsZWN0K2Rpdi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZVtzdHlsZV0ge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA4cHgpIWltcG9ydGFudFxuICAgIH1cblxuICAgIGJvZHkgLmdmb3JtX3dyYXBwZXIgc2VsZWN0LmxhcmdlLmdmaWVsZF9zZWxlY3QrZGl2LmNob3Nlbi1jb250YWluZXItbXVsdGlbc3R5bGVdLGJvZHkgLmdmb3JtX3dyYXBwZXIgc2VsZWN0LmxhcmdlLmdmaWVsZF9zZWxlY3QrZGl2LmNob3Nlbi1jb250YWluZXItc2luZ2xlW3N0eWxlXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudFxuICAgIH1cblxuICAgIGJvZHkgLmdmb3JtX3dyYXBwZXIgc2VsZWN0LnNtYWxsLmdmaWVsZF9zZWxlY3QrZGl2LmNob3Nlbi1jb250YWluZXItbXVsdGlbc3R5bGVdLGJvZHkgLmdmb3JtX3dyYXBwZXIgc2VsZWN0LnNtYWxsLmdmaWVsZF9zZWxlY3QrZGl2LmNob3Nlbi1jb250YWluZXItc2luZ2xlW3N0eWxlXSB7XG4gICAgICAgIHdpZHRoOiAyNSUhaW1wb3J0YW50XG4gICAgfVxufVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX2NlbGw+LmdmaWVsZF9yZXBlYXRlcl93cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEsMSwxLC4wMik7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMzgsMjM4LDIzOCwxKVxufVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX3dyYXBwZXIgaW5wdXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTk3LDE5OCwxOTcsMSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4XG59XG5cbi5nZmllbGRfcmVwZWF0ZXJfd3JhcHBlciAuZ2ZpZWxkX3JlcGVhdGVyX3dyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHhcbn1cblxuLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIC5hZGRfcmVwZWF0ZXJfaXRlbV90ZXh0LC5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyAucmVtb3ZlX3JlcGVhdGVyX2l0ZW1fdGV4dCB7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDIsMjQyLDI0MiwuNSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBjdWJpYy1iZXppZXIoLjY3LC4xNywuNCwuODMpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogcmdiYSgxMTcsMTE3LDExNywxKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTcsMTE3LDExNywuNCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMFxufVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMgLmFkZF9yZXBlYXRlcl9pdGVtX3BsdXMsLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIC5yZW1vdmVfcmVwZWF0ZXJfaXRlbV9taW51cyB7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQyLDI0MiwyNDIsLjUpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3MgY3ViaWMtYmV6aWVyKC42NywuMTcsLjQsLjgzKTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6IHJnYmEoMTE3LDExNywxMTcsMSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG1hcmdpbjogMTBweCA1cHggMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExNywxMTcsMTE3LC40KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDAgMCA1cHhcbn1cblxuLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIGJ1dHRvbi5nZmllbGRfaWNvbl9kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7XG4gICAgLW1vei1vcGFjaXR5OiAuMztcbiAgICAta2h0bWwtb3BhY2l0eTogLjM7XG4gICAgb3BhY2l0eTogLjNcbn1cblxuLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIGJ1dHRvbi5nZmllbGRfaWNvbl9kaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDIsMjQyLDI0MiwuNSk7XG4gICAgY29sb3I6IHJnYmEoMTE3LDExNywxMTcsMSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTcsMTE3LDExNywuNClcbn1cblxuLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTAsMjUwLDI1MCwxKTtcbiAgICBjb2xvcjogIzM3NDc1MDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDExNywxMTcsMTE3LDEpXG59XG5cbi5nZmllbGRfcmVwZWF0ZXJfY2VsbD4uZ2ZpZWxkX3JlcGVhdGVyX3dyYXBwZXIge1xuICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgcmdiYSgyNDEsMjQxLDI0MSwxKTtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4wNiksMCAycHggMXB4IC0xcHggcmdiYSgwLDAsMCwuMDYpLDAgMXB4IDVweCAwIHJnYmEoMCwwLDAsLjA2KVxufVxuXG4uZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMgLmFkZF9yZXBlYXRlcl9pdGVtX3RleHQ6Zm9jdXMsLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIC5yZW1vdmVfcmVwZWF0ZXJfaXRlbV90ZXh0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwXG59XG5cbi5nZmllbGRfcmVwZWF0ZXJfaXRlbSAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgY29sb3I6ICNjMzIxMjFcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmaWVsZF9yZXBlYXRlcl9jZWxsIGxhYmVsIHtcbiAgICBjb2xvcjogIzliOWE5YTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nLXRvcDogOHB4XG59XG5cbi5nZmllbGRfcmVwZWF0ZXJfdmFsdWUgLmdmaWVsZF9yZXBlYXRlcl92YWx1ZSAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAwXG59XG5cbmRpdiAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwge1xuICAgIG1hcmdpbi10b3A6IDVweFxufVxuXG4uZ2ZpZWxkX3JlcGVhdGVyIC5nZmllbGRfcmVwZWF0ZXJfaXRlbXMgLmdmaWVsZF9yZXBlYXRlcl9pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTBlMGU2O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4XG59XG5cbi5nZmllbGRfcmVwZWF0ZXJfdmFsdWU+LmdmaWVsZF9yZXBlYXRlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCByZ2JhKDU0LDg2LDEwMiwuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLDEsMSwuMDIpO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjM4LDIzOCwyMzgsMSk7XG4gICAgbWFyZ2luOiAxMHB4XG59XG5cbi5nZmllbGRfcmVwZWF0ZXJfY2VsbCAuZ2ZpZWxkX3JlcGVhdGVyX3ZhbHVlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBjb2xvcjogcmdiYSgxMTcsMTE3LDExNywuNyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxOTcsMTk4LDE5NywxKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MCwyNDAsMjQwLDEpXG59XG5cbi5nZmllbGRfcmVwZWF0ZXIgLmdmaWVsZF9yZXBlYXRlcl9pdGVtcywuZ2ZpZWxkX3JlcGVhdGVyX2l0ZW1zIC5nZmllbGRfcmVwZWF0ZXJfY2VsbDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy10b3A6IDVweFxufVxuXG4uZ2ZpZWxkX3JlcGVhdGVyIC5nZmllbGRfbGFiZWwge1xuICAgIGNvbG9yOiByZ2JhKDM1LDQwLDQ1LDEpO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNjAwXG59XG5cbi5nZmllbGRfcmVwZWF0ZXJfdmFsdWUgLmdmaWVsZF9sYWJlbCwuZ2ZpZWxkX3JlcGVhdGVyX3ZhbHVlIC5nZmllbGRfcmVwZWF0ZXJfdmFsdWUgLmdmaWVsZF9yZXBlYXRlcl9pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMFxufVxuXG4vKiAgUkVBRFkgQ0xBU1MgKiovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xuICAgICAgICB3aWR0aDogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgZmxvYXQ6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9ZW1haWxdLmxhcmdlLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPWVtYWlsXS5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9ZW1haWxdLnNtYWxsLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPW51bWJlcl0ubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9bnVtYmVyXS5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9bnVtYmVyXS5zbWFsbCwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1wYXNzd29yZF0ubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9cGFzc3dvcmRdLm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT1wYXNzd29yZF0uc21hbGwsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGlucHV0W3R5cGU9dGVsXS5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZWxdLm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZWxdLnNtYWxsLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRleHRdLmxhcmdlLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRleHRdLm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT10ZXh0XS5zbWFsbCwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgaW5wdXRbdHlwZT11cmxdLmxhcmdlLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXVybF0ubWVkaXVtLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXVybF0uc21hbGwge1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBpbnB1dFt0eXBlPXRleHRdLmRhdGVwaWNrZXIubWVkaXVtIHtcbiAgICAgICAgd2lkdGg6IDk2cHghaW1wb3J0YW50XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIHNlbGVjdCwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfaG91ciBpbnB1dFt0eXBlPXRleHRdLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfbWludXRlIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgICAgICB3aWR0aDogNzAlIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX2RhdGVfZGF5LC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX2RhdGVfbW9udGgsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfZGF0ZV95ZWFyLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2lubGluZSBkaXYuZ2ZpZWxkX3RpbWVfaG91ciwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9pbmxpbmUgZGl2LmdmaWVsZF90aW1lX21pbnV0ZSB7XG4gICAgICAgIHdpZHRoOiA1MHB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfaW5saW5lIGRpdi5nZmllbGRfdGltZV9hbXBtIHtcbiAgICAgICAgd2lkdGg6IGF1dG9cbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9pbmxpbmUgZGl2LmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2lubGluZSBkaXYuZ2lucHV0X2NvbnRhaW5lci5naW5wdXRfY29udGFpbmVyX2RhdGUgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jayFpbXBvcnRhbnRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2lubGluZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgZmxvYXQ6IG5vbmVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgLmdpbnB1dF9jb250YWluZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKTpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSk6bm90KC5naW5wdXRfcXVhbnRpdHkpOm5vdCguZGF0ZXBpY2tlciksLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiAuZ2lucHV0X2NvbnRhaW5lcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pOm5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKTpub3QoLmdpbnB1dF9xdWFudGl0eSk6bm90KC5kYXRlcGlja2VyKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiA4cHggMCAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNsZWFyOiBib3RoXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3IgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2xlZnRfaGFsZiwuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDE2cHgpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX2xlZnRfaGFsZiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTZweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgdGV4dGFyZWEsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiB0ZXh0YXJlYSB7XG4gICAgICAgIHdpZHRoOiA5OCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYgaW5wdXQuc21hbGwsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfaGFsZiBpbnB1dC5zbWFsbCB7XG4gICAgICAgIHdpZHRoOiAzNSVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZiwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF9oYWxmK2xpLmdzZWN0aW9uLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZiwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYrbGkuZ3NlY3Rpb24sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZitsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDAgOHB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfbGVmdF9oYWxmK2xpLmdmaWVsZC5nc2VjdGlvbi5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDhweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIrbGkuZ3NlY3Rpb24sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIrbGkuZ3NlY3Rpb24sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCtsaS5nc2VjdGlvbiwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCtsaS5nc2VjdGlvbiwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9sZWZ0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3JpZ2h0X2hhbGYrbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX2xlZnRfaGFsZitsaS5nZmllbGQuZ3NlY3Rpb24uZ2ZfcmlnaHRfaGFsZiB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMCA4cHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYrLmdmb3JtX2Zvb3RlciwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X2hhbGYrbGkuZ2ZpZWxkLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYrLmdmb3JtX2Zvb3RlciwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF9oYWxmK2xpLmdmaWVsZCB7XG4gICAgICAgIGNsZWFyOiBib3RoXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQge1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZDpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZDpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pIHtcbiAgICAgICAgd2lkdGg6IDMzLjMlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQ6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSB7XG4gICAgICAgIHdpZHRoOiAzMy40JVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubWVkaXVtLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9taWRkbGVfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QubWVkaXVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KC5naW5wdXRfcXVhbnRpdHkpLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2xlZnRfdGhpcmQgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KC5naW5wdXRfcXVhbnRpdHkpLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX21pZGRsZV90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdCguZ2lucHV0X3F1YW50aXR5KSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9sZWZ0X3RoaXJkLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9taWRkbGVfdGhpcmQge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zJSAtIDI0cHgpIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX3JpZ2h0X3RoaXJkIHtcbiAgICAgICAgd2lkdGg6IDMzLjQlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfcmlnaHRfdGhpcmQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9sZWZ0X3RoaXJkKy5nZm9ybV9mb290ZXIsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbGVmdF90aGlyZCtsaS5nZmllbGQsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkKy5nZm9ybV9mb290ZXIsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfbWlkZGxlX3RoaXJkK2xpLmdmaWVsZCwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9yaWdodF90aGlyZCsuZ2Zvcm1fZm9vdGVyLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3JpZ2h0X3RoaXJkK2xpLmdmaWVsZCB7XG4gICAgICAgIGNsZWFyOiBib3RoXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlcjpub3QoLmdmaWVsZF90aW1lX2hvdXIpOm5vdCguZ2ZpZWxkX3RpbWVfbWludXRlKTpub3QoLmdmaWVsZF90aW1lX2FtcG0pLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSksLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXI6bm90KC5nZmllbGRfdGltZV9ob3VyKTpub3QoLmdmaWVsZF90aW1lX21pbnV0ZSk6bm90KC5nZmllbGRfdGltZV9hbXBtKSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyOm5vdCguZ2ZpZWxkX3RpbWVfaG91cik6bm90KC5nZmllbGRfdGltZV9taW51dGUpOm5vdCguZ2ZpZWxkX3RpbWVfYW1wbSkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmbG9hdDogbm9uZVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgc2VsZWN0LC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSksLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBzZWxlY3QsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgZGl2Om5vdCguZ2lucHV0X2NvbnRhaW5lcl9kYXRlKSBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIGRpdjpub3QoLmdpbnB1dF9jb250YWluZXJfZGF0ZSkgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSksLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBkaXY6bm90KC5naW5wdXRfY29udGFpbmVyX2RhdGUpIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9maXJzdF9xdWFydGVyLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZl9mb3VydGhfcXVhcnRlciwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2Zfc2Vjb25kX3F1YXJ0ZXIsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmX3RoaXJkX3F1YXJ0ZXIge1xuICAgICAgICB3aWR0aDogMjQuNSVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlcjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZpcnN0X3F1YXJ0ZXIgaW5wdXQubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBpbnB1dC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBzZWxlY3QubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlciBzZWxlY3QubWVkaXVtLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGlucHV0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX2ZvdXJ0aF9xdWFydGVyIGlucHV0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlciBzZWxlY3QubGFyZ2UsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIgc2VsZWN0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBpbnB1dC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlciBpbnB1dC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIgc2VsZWN0LmxhcmdlLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3NlY29uZF9xdWFydGVyIHNlbGVjdC5tZWRpdW0sLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlciBpbnB1dC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIGlucHV0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIHNlbGVjdC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl90aGlyZF9xdWFydGVyIHNlbGVjdC5tZWRpdW0ge1xuICAgICAgICB3aWR0aDogOTcuNSVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9maXJzdF9xdWFydGVyKy5nZm9ybV9mb290ZXIsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZmlyc3RfcXVhcnRlcitsaS5nZmllbGQsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfZm91cnRoX3F1YXJ0ZXIrLmdmb3JtX2Zvb3RlciwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9mb3VydGhfcXVhcnRlcitsaS5nZmllbGQsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2Zfc2Vjb25kX3F1YXJ0ZXIrLmdmb3JtX2Zvb3RlciwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdmaWVsZC5nZl9zZWNvbmRfcXVhcnRlcitsaS5nZmllbGQsLmdmb3JtX3dyYXBwZXIgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ2ZfdGhpcmRfcXVhcnRlcisuZ2Zvcm1fZm9vdGVyLC5nZm9ybV93cmFwcGVyIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdmX3RoaXJkX3F1YXJ0ZXIrbGkuZ2ZpZWxkIHtcbiAgICAgICAgY2xlYXI6IGJvdGhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpIHVsLmdmaWVsZF9jaGVja2JveCwuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNnB4KVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkgdWwuZ2ZpZWxkX2NoZWNrYm94LC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNzAlICsgMTZweClcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZm9udC1zaXplOiA5MCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIHdpZHRoOiAzMy4zJTtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBmb250LXNpemU6IDkwJVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfY2hlY2tib3ggbGksLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfY2hlY2tib3ggbGksLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgbGFiZWwuZ2ZpZWxkX2xhYmVsLC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfMmNvbCBsYWJlbC5nZmllbGRfbGFiZWwsLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF8zY29sIGxhYmVsLmdmaWVsZF9sYWJlbCwuZ2Zvcm1fd3JhcHBlciB1bC5nZm9ybV9maWVsZHM6bm90KC50b3BfbGFiZWwpIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgbGFiZWwuZ2ZpZWxkX2xhYmVsLC5nZm9ybV93cmFwcGVyIHVsLmdmb3JtX2ZpZWxkczpub3QoLnRvcF9sYWJlbCkgbGkuZ2ZpZWxkLmdmX2xpc3RfNWNvbCBsYWJlbC5nZmllbGRfbGFiZWwsLmdmb3JtX3dyYXBwZXIgdWwuZ2Zvcm1fZmllbGRzOm5vdCgudG9wX2xhYmVsKSBsaS5nZmllbGQuZ2ZfbGlzdF9pbmxpbmUgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94LC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX3JhZGlvLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94LC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX3JhZGlvLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94LC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzVjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94LC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0XzVjb2wgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlblxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCwuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzRjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gge1xuICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6IDE2cHg7XG4gICAgICAgIC1tb3otY29sdW1uLWdhcDogMTZweDtcbiAgICAgICAgY29sdW1uLWdhcDogMTZweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3gsLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8yY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAyO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDJcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzNjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfM2NvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAzO1xuICAgICAgICBjb2x1bW4tY291bnQ6IDNcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzRjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA0O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94LC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDU7XG4gICAgICAgIC1tb3otY29sdW1uLWNvdW50OiA1O1xuICAgICAgICBjb2x1bW4tY291bnQ6IDVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzJjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfMmNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwsLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF8zY29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHVsLmdmaWVsZF9jaGVja2JveCBsaSBsYWJlbCwuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzNjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwuZ2ZpZWxkX3JhZGlvIGxpIGxhYmVsLC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNGNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9jaGVja2JveCB1bC5nZmllbGRfY2hlY2tib3ggbGkgbGFiZWwsLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF80Y29sX3ZlcnRpY2FsIC5naW5wdXRfY29udGFpbmVyX3JhZGlvIHVsLmdmaWVsZF9yYWRpbyBsaSBsYWJlbCwuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0XzVjb2xfdmVydGljYWwgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwuZ2ZpZWxkX2NoZWNrYm94IGxpIGxhYmVsLC5nZm9ybV93cmFwcGVyIGxpLmdmX2xpc3RfNWNvbF92ZXJ0aWNhbCAuZ2lucHV0X2NvbnRhaW5lcl9yYWRpbyB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXNcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMjUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF8yNSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBoZWlnaHQ6IDI1cHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNTAgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF81MCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBoZWlnaHQ6IDUwcHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfNzUgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZl9saXN0X2hlaWdodF83NSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBoZWlnaHQ6IDc1cHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTAwIHVsLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTAwIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIGhlaWdodDogMTAwcHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTI1IHVsLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTI1IHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIGhlaWdodDogMTI1cHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTUwIHVsLmdmaWVsZF9jaGVja2JveCBsaSwuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZfbGlzdF9oZWlnaHRfMTUwIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgICAgIGhlaWdodDogMTUwcHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfY2hlY2tib3ggbGksLmdmb3JtX3dyYXBwZXIgbGkuZ2ZfbGlzdF9pbmxpbmUgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgICAgICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICBmbG9hdDogbm9uZSFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCA4cHggMTBweCAwO1xuICAgICAgICBkaXNwbGF5OiAtbW96LWlubGluZS1zdGFjaztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrXG4gICAgfVxuXG4gICAgaHRtbFtkaXI9cnRsXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfY2hlY2tib3ggbGksaHRtbFtkaXI9cnRsXSAuZ2Zvcm1fd3JhcHBlciBsaS5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHghaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmX2hpZGVfYW1wbSBkaXYuZ2ZpZWxkX3RpbWVfYW1wbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQge1xuICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQyFpbXBvcnRhbnRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGgyLmdzZWN0aW9uX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHggMCA4cHghaW1wb3J0YW50XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLnRvcF9sYWJlbCBsaS5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBoMi5nc2VjdGlvbl90aXRsZSwuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2dlY2tvIC50b3BfbGFiZWwgbGkuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgaDIuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDhweCFpbXBvcnRhbnRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciAudG9wX2xhYmVsIGxpLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IC5nc2VjdGlvbl9kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwgbGksLmdmb3JtX3dyYXBwZXIgZm9ybSBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiB1bCBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYyFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIHVsLC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDE2cHggMCAxNnB4IDE4cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpLC5nZm9ybV93cmFwcGVyIGZvcm0gZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwhaW1wb3J0YW50O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCwuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAxNnB4IDAgMThweCAzMnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBvbCBsaSB1bCwuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHVsIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gb2wgbGkgdWwge1xuICAgICAgICBtYXJnaW46IDE2cHggMCAxNnB4IDE4cHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtIGRpdi5nZm9ybV91bC5nZm9ybV9maWVsZHMgLnRvcF9sYWJlbCBsaS5nZmllbGQuZ3NlY3Rpb24uZ2Zfc2Nyb2xsX3RleHQgZGl2LmdzZWN0aW9uX2Rlc2NyaXB0aW9uIG9sIGxpIHVsIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgOHB4XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZGl2Lmdmb3JtX3VsLmdmb3JtX2ZpZWxkcyAudG9wX2xhYmVsIGxpLmdmaWVsZC5nc2VjdGlvbi5nZl9zY3JvbGxfdGV4dCBkaXYuZ3NlY3Rpb25fZGVzY3JpcHRpb24gZGwge1xuICAgICAgICBtYXJnaW46IDAgMCAxOHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBkbCBkdCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDBcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBkaXYuZ2Zvcm1fdWwuZ2Zvcm1fZmllbGRzIC50b3BfbGFiZWwgbGkuZ2ZpZWxkLmdzZWN0aW9uLmdmX3Njcm9sbF90ZXh0IGRpdi5nc2VjdGlvbl9kZXNjcmlwdGlvbiBkbCBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE2cHggMThweFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ibHVlLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ncmF5LC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ncmVlbiwuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2h0bWwuZ2ZfYWxlcnRfcmVkLC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF95ZWxsb3cge1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ncmVlbiB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5N0I0OEE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDQkVDQTA7XG4gICAgICAgIHRleHQtc2hhZG93OiAjREZCIDFweCAxcHg7XG4gICAgICAgIGNvbG9yOiAjMDMwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X3JlZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRkFEQjM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUYyRjU7XG4gICAgICAgIHRleHQtc2hhZG93OiAjRkZGIDFweCAxcHg7XG4gICAgICAgIGNvbG9yOiAjODMyNTI1XG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X3llbGxvdyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZCQ0M7XG4gICAgICAgIHRleHQtc2hhZG93OiAjRkNGQUVBIDFweCAxcHg7XG4gICAgICAgIGNvbG9yOiAjMjIyXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9odG1sLmdmX2FsZXJ0X2dyYXkge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFO1xuICAgICAgICB0ZXh0LXNoYWRvdzogI0ZGRiAxcHggMXB4O1xuICAgICAgICBjb2xvcjogIzQyNDI0MlxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfaHRtbC5nZl9hbGVydF9ibHVlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2E3YzJlNztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0QxRTRGMztcbiAgICAgICAgdGV4dC1zaGFkb3c6ICNFMEYxRkYgMXB4IDFweDtcbiAgICAgICAgY29sb3I6ICMzMTQ0NzVcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3NpbXBsZV95ZWxsb3cge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTZEQjU1O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U2REI1NTtcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkJDQztcbiAgICAgICAgY29sb3I6ICM0MjQyNDI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweFxuICAgIH1cblxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25fc2ltcGxlX2dyYXkge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0NDO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQztcbiAgICAgICAgcGFkZGluZzogMzJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRUFFQTtcbiAgICAgICAgY29sb3I6ICM0MjQyNDI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweFxuICAgIH1cblxuICAgIGRpdi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlci5nZl9jb25maXJtYXRpb25feWVsbG93X2dyYWRpZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQkQyO1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0U2REI1NTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMjIxLDIxNSwxMzEsLjc1KTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMjIxLDIxNSwxMzEsLjc1KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDIyMSwyMTUsMTMxLC43NSlcbiAgICB9XG5cbiAgICBkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudCBkaXYuZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI0ZGRjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFNkRCNTU7XG4gICAgICAgIGNvbG9yOiAjNDI0MjQyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmY2U1O1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZmNlNSAwLCNmZmY5YmYgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCwjZmZmY2U1KSxjb2xvci1zdG9wKDEwMCUsI2ZmZjliZikpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZmNlNSAwLCNmZmY5YmYgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2ZmZmNlNSAwLCNmZmY5YmYgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCNmZmZjZTUgMCwjZmZmOWJmIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCNmZmZjZTUgMCwjZmZmOWJmIDEwMCUpXG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZmNkZjtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhN2MzN2M7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDg2LDEyMiw4NiwuNCk7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDg2LDEyMiw4NiwuNCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSg4NiwxMjIsODYsLjQpXG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudCBkaXYuZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2VmZmFkZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhN2MzN2M7XG4gICAgICAgIHRleHQtc2hhZG93OiAjREZCIDFweCAxcHg7XG4gICAgICAgIGNvbG9yOiAjMDMwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZGJmMmI3O1xuICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgyMTksMjQyLDE4MywxKSAwLHJnYmEoMTgwLDIwOCwxMzYsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGNvbG9yLXN0b3AoMCxyZ2JhKDIxOSwyNDIsMTgzLDEpKSxjb2xvci1zdG9wKDEwMCUscmdiYSgxODAsMjA4LDEzNiwxKSkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgyMTksMjQyLDE4MywxKSAwLHJnYmEoMTgwLDIwOCwxMzYsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgyMTksMjQyLDE4MywxKSAwLHJnYmEoMTgwLDIwOCwxMzYsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjE5LDI0MiwxODMsMSkgMCxyZ2JhKDE4MCwyMDgsMTM2LDEpIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMjE5LDI0MiwxODMsMSkgMCxyZ2JhKDE4MCwyMDgsMTM2LDEpIDEwMCUpXG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudDphZnRlcixkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX2dyZWVuX2dyYWRpZW50OmJlZm9yZSxkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudDphZnRlcixkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudDpiZWZvcmUge1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3R0b206IDE1cHg7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHRvcDogODAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwuMik7XG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxNXB4IDEwcHggcmdiYSgwLDAsMCwuMik7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAxNXB4IDEwcHggcmdiYSgwLDAsMCwuMik7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTVweCAxMHB4IHJnYmEoMCwwLDAsLjIpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0zZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpXG4gICAgfVxuXG4gICAgZGl2Lmdmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyLmdmX2NvbmZpcm1hdGlvbl9ncmVlbl9ncmFkaWVudDphZnRlcixkaXYuZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIuZ2ZfY29uZmlybWF0aW9uX3llbGxvd19ncmFkaWVudDphZnRlciB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgbGVmdDogYXV0b1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyLmdmX3NpbXBsZV9ob3Jpem9udGFsX3dyYXBwZXIuY2VudGVyZWRfd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogdGFibGVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgICBtYXJnaW46IDAgYXV0b1xuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHksLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDc1JVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2LmdpbnB1dF9jb250YWluZXIsLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB1bCBsaS5nZmllbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwIWltcG9ydGFudFxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2Zvb3Rlci50b3BfbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMFxuICAgIH1cblxuICAgIGJvZHk6bm90KHJ0bCkgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fZm9vdGVyLnRvcF9sYWJlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnRcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aWR0aDogMTAwJVxuICAgIH1cblxuICAgIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2Lmdmb3JtX2JvZHkgdWwudG9wX2xhYmVsIGxpLmdmaWVsZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAuZ2ZpZWxkX2Rlc2NyaXB0aW9uOm5vdCgudmFsaWRhdGlvbl9tZXNzYWdlKSwuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIC5naW5wdXRfY29tcGxleCBsYWJlbCwuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC05MDAwcHhcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbC5mb3JtX3N1YmxhYmVsX2Fib3ZlIGxpLmdmaWVsZCwuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbC5mb3JtX3N1YmxhYmVsX2JlbG93IGxpLmdmaWVsZCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgaW5wdXQubGFyZ2UsLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIGlucHV0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgaW5wdXQuc21hbGwsLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2Zvcm1fYm9keSB1bC50b3BfbGFiZWwgbGkuZ2ZpZWxkIHNlbGVjdC5sYXJnZSwuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgc2VsZWN0Lm1lZGl1bSwuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9ib2R5IHVsLnRvcF9sYWJlbCBsaS5nZmllbGQgc2VsZWN0LnNtYWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCVcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIGlucHV0W3R5cGU9c3VibWl0XSwuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIGlucHV0W3R5cGU9YnV0dG9uXSwuZ2Zvcm1fd3JhcHBlciBmb3JtLmdmX3NpbXBsZV9ob3Jpem9udGFsIGRpdi5nZm9ybV9mb290ZXIudG9wX2xhYmVsIGlucHV0W3R5cGU9aW1hZ2VdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCAudG9wX2xhYmVsIC5nZmllbGRfZXJyb3Ige1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwXG4gICAgfVxuXG4gICAgLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB1bCBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfY2hlY2tib3ggdWwgbGksLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCB1bCBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfcmFkaW8gdWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVlbVxuICAgIH1cblxuICAgIGh0bWxbZGlyPXJ0bF0gLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc18yIHNwYW4ge1xuICAgICAgICB3aWR0aDogNDguNSVcbiAgICB9XG5cbiAgICBodG1sW2Rpcj1ydGxdIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfMyBzcGFuIHtcbiAgICAgICAgd2lkdGg6IDMzJVxuICAgIH1cblxuICAgIGh0bWxbZGlyPXJ0bF0gLmdmb3JtX3dyYXBwZXIgZm9ybS5nZl9zaW1wbGVfaG9yaXpvbnRhbCBkaXYuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5nZl9uYW1lX2hhc180IHNwYW4ge1xuICAgICAgICB3aWR0aDogMjQuNSVcbiAgICB9XG5cbiAgICBodG1sW2Rpcj1ydGxdIC5nZm9ybV93cmFwcGVyIGZvcm0uZ2Zfc2ltcGxlX2hvcml6b250YWwgZGl2LmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuZ2ZfbmFtZV9oYXNfNSBzcGFuIHtcbiAgICAgICAgd2lkdGg6IDE5LjUlXG4gICAgfVxufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyLmdmX2Zvcm1fY2VudGVyX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDE2cHggMCAxNnB4IDE2cHhcbn1cblxuLyogQlJPV1NFUlMgKi9cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmxlZnRfbGFiZWwgI3JlY2FwdGNoYV9hcmVhICNyZWNhcHRjaGFfdGFibGUsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLnJpZ2h0X2xhYmVsICNyZWNhcHRjaGFfYXJlYSAjcmVjYXB0Y2hhX3RhYmxlLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIC5sZWZ0X2xhYmVsICNyZWNhcHRjaGFfYXJlYSAjcmVjYXB0Y2hhX3RhYmxlLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIC5yaWdodF9sYWJlbCAjcmVjYXB0Y2hhX2FyZWEgI3JlY2FwdGNoYV90YWJsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMyJVxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSBzZWxlY3RbbXVsdGlwbGU9bXVsdGlwbGVdLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIHNlbGVjdFttdWx0aXBsZT1tdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0byFpbXBvcnRhbnRcbn1cblxuLmVudHJ5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIHVsIGxpOmFmdGVyLC5lbnRyeSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSB1bCBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCJcbn1cblxuLmVudHJ5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsIGxpOmFmdGVyLC5lbnRyeSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSB1bCBsaTpiZWZvcmUsLmVudHJ5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfZ2Vja28gdWwgbGk6YWZ0ZXIsLmVudHJ5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfZ2Vja28gdWwgbGk6YmVmb3JlLC5lbnRyeSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIHVsIGxpOmFmdGVyLC5lbnRyeSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIHVsIGxpOmJlZm9yZSwuZW50cnkgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pcGhvbmUgdWwgbGk6YWZ0ZXIsLmVudHJ5IC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaXBob25lIHVsIGxpOmJlZm9yZSwuZW50cnkgLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl91bmtub3duIHVsIGxpOmFmdGVyLC5lbnRyeSAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3Vua25vd24gdWwgbGk6YmVmb3JlLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsIGxpOmFmdGVyLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsIGxpOmJlZm9yZSwuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2dlY2tvIHVsIGxpOmFmdGVyLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfZ2Vja28gdWwgbGk6YmVmb3JlLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgdWwgbGk6YWZ0ZXIsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSB1bCBsaTpiZWZvcmUsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pcGhvbmUgdWwgbGk6YWZ0ZXIsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pcGhvbmUgdWwgbGk6YmVmb3JlLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfdW5rbm93biB1bCBsaTphZnRlciwuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3Vua25vd24gdWwgbGk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lXG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIC5nZm9ybV9ib2R5IHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgI3JlY2FwdGNoYV93aWRnZXRfZGl2ICNyZWNhcHRjaGFfYXJlYSB7XG4gICAgd2lkdGg6IDk5JSFpbXBvcnRhbnRcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9zYWZhcmkgLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCwuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIC5nZmllbGRfcmFkaW8gbGkgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIG1hcmdpbi10b3A6IDRweFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX3NhZmFyaSBpbnB1dC5idXR0b24uZ2Zvcm1fYnV0dG9uX3NlbGVjdF9maWxlcyB7XG4gICAgcGFkZGluZzogNnB4IDEycHghaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfc2FmYXJpIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiA1cmVtIWltcG9ydGFudDtcbiAgICB3aWR0aDogY2FsYygycmVtICsgMjBweClcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAycHggMCAycHggM3B4XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiA1cmVtIWltcG9ydGFudDtcbiAgICB3aWR0aDogY2FsYygzcmVtICsgMjBweClcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciAjcmVjYXB0Y2hhX3dpZGdldF9kaXYgI3JlY2FwdGNoYV9hcmVhIHtcbiAgICB3aWR0aDogOTklIWltcG9ydGFudFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCBzZWxlY3QsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdpbnB1dF9jb21wbGV4IHNlbGVjdCB7XG4gICAgdGV4dC1pbmRlbnQ6IDJweDtcbiAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIG1hcmdpbi10b3A6IDJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX2NoZWNrYm94IGxpIGlucHV0LC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF0sLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmaWVsZF9yYWRpbyBsaSBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgbWFyZ2luLXRvcDogNnB4XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgZGl2LmdpbnB1dF9jb21wbGV4IHNwYW4uZ2lucHV0X2xlZnQgc2VsZWN0LC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgZGl2LmdpbnB1dF9jb21wbGV4IHNwYW4uZ2lucHV0X3JpZ2h0IHNlbGVjdCwuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSB1bC5nZm9ybV9maWVsZHMgbGkuZ2ZpZWxkIGlucHV0W3R5cGU9cmFkaW9dLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgc2VsZWN0IHtcbiAgICBtYXJnaW4tbGVmdDogMXB4XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgc3Bhbi5uYW1lX2ZpcnN0LC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIHVsLmdmb3JtX2ZpZWxkcyBsaS5nZmllbGQgc3Bhbi5uYW1lX2xhc3QsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCBzcGFuLm5hbWVfbWlkZGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMnB4XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb21wbGV4LmdpbnB1dF9jb250YWluZXIuaGFzX2ZpcnN0X25hbWUuaGFzX21pZGRsZV9uYW1lLmhhc19sYXN0X25hbWUgc3Bhbi5uYW1lX2xhc3QsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbXBsZXguZ2lucHV0X2NvbnRhaW5lci5oYXNfZmlyc3RfbmFtZS5oYXNfbWlkZGxlX25hbWUuaGFzX2xhc3RfbmFtZSBzcGFuLm5hbWVfbWlkZGxlIHtcbiAgICBtYXJnaW4tbGVmdDogMS4xJVxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuZ2ZpZWxkX2Vycm9yIGlucHV0W3R5cGU9ZW1haWxdLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT1udW1iZXJdLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT1wYXNzd29yZF0sLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPXRlbF0sLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdmaWVsZF9lcnJvciBpbnB1dFt0eXBlPXRleHRdLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfZXJyb3IgaW5wdXRbdHlwZT11cmxdLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfZXJyb3Igc2VsZWN0LC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfY2hyb21lIC5nZmllbGRfZXJyb3IgdGV4dGFyZWEsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgbGkuZ2ZpZWxkX2Vycm9yLmZpZWxkX3N1YmxhYmVsX2Fib3ZlIC5naW5wdXRfY29tcGxleCBpbnB1dFt0eXBlPXRleHRdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9jaHJvbWUgaW5wdXQuYnV0dG9uLmdmb3JtX2J1dHRvbl9zZWxlY3RfZmlsZXMge1xuICAgIHBhZGRpbmc6IDZweCAxMnB4IWltcG9ydGFudFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSBzcGFuLmFkZHJlc3NfY291bnRyeSB7XG4gICAgbWFyZ2luLXRvcDogLTJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2dlY2tvIHNlbGVjdCB7XG4gICAgcGFkZGluZzogMnB4IDEycHggMnB4IDJweFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2dlY2tvIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiA1cmVtIWltcG9ydGFudDtcbiAgICB3aWR0aDogY2FsYyg0cmVtICsgMjVweClcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9nZWNrbyAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9jYXJkaW5mb19sZWZ0IHNlbGVjdC5naW5wdXRfY2FyZF9leHBpcmF0aW9uLmdpbnB1dF9jYXJkX2V4cGlyYXRpb25fbW9udGgge1xuICAgIG1hcmdpbi1yaWdodDogMXB4XG59XG5cbi5nZm9ybV93cmFwcGVyZ2ZfYnJvd3Nlcl9nZWNrbyAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUge1xuICAgIGhlaWdodDogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMi40XG59XG5cbi5nZm9ybV93cmFwcGVyZ2ZfYnJvd3Nlcl9nZWNrbyAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDVweFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5nZmllbGRfdGltZV9ob3VyIHtcbiAgICB3aWR0aDogODBweFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5nZmllbGRfdGltZV9taW51dGUge1xuICAgIHdpZHRoOiA3MHB4XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdmaWVsZF90aW1lX2FtcG0ge1xuICAgIHBhZGRpbmctdG9wOiAycHhcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2ZpZWxkX3RpbWVfaG91ciBpbnB1dCwuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5nZmllbGRfdGltZV9taW51dGUgaW5wdXQge1xuICAgIG1hcmdpbi1sZWZ0OiAwXG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCBsYWJlbCwuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5naW5wdXRfY29tcGxleCAuZ2lucHV0X3JpZ2h0IGxhYmVsIHtcbiAgICBtYXJnaW46IDNweCAwIDVweFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5nZm9ybV9mb290ZXIgaW5wdXQuYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAzcHhcbn1cblxuLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSB1bC50b3BfbGFiZWwgLmNsZWFyLW11bHRpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsZWFyOiBib3RoXG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHghaW1wb3J0YW50XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdmaWVsZF9jaGVja2JveCBsaSBpbnB1dCwuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5nZmllbGRfY2hlY2tib3ggbGkgaW5wdXRbdHlwZT1jaGVja2JveF0sLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2ZpZWxkX3JhZGlvIGxpIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICBtYXJnaW4tdG9wOiAwXG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCBzZWxlY3QsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCBzZWxlY3Qge1xuICAgIHBhZGRpbmc6IDJweCAwXG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdmb3JtX2JvZHkgdWwuZ2Zvcm1fZmllbGRzIGxpLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciAjcmVjYXB0Y2hhX3dpZGdldF9kaXYgI3JlY2FwdGNoYV9hcmVhIHtcbiAgICB3aWR0aDogOTklIWltcG9ydGFudFxufVxuXG4uZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2llIC5sZWZ0X2xhYmVsICNyZWNhcHRjaGFfYXJlYSAjcmVjYXB0Y2hhX3RhYmxlLC5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLnJpZ2h0X2xhYmVsICNyZWNhcHRjaGFfYXJlYSAjcmVjYXB0Y2hhX3RhYmxlIHtcbiAgICBtYXJnaW4tbGVmdDogMzIlXG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfY2FyZGluZm9fcmlnaHQgc3Bhbi5naW5wdXRfY2FyZF9zZWN1cml0eV9jb2RlX2ljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgbGVmdDogNHB4XG59XG5cbi5nZm9ybV93cmFwcGVyLmdmX2Jyb3dzZXJfaWUgaW1nLmFkZF9saXN0X2l0ZW0sLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9pZSBpbWcuZGVsZXRlX2xpc3RfaXRlbSB7XG4gICAgd2lkdGg6IDE2cHghaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTZweCFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHghaW1wb3J0YW50XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQxcHgpIHtcbiAgICAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9nZWNrbyAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9zYWZhcmkgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIHtcbiAgICAgICAgaGVpZ2h0OjQ0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjJcbiAgICB9XG5cbiAgICAuZ2Zvcm1fd3JhcHBlci5nZl9icm93c2VyX2Nocm9tZSAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9nZWNrbyAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUgZGl2IGIsLmdmb3JtX3dyYXBwZXIuZ2ZfYnJvd3Nlcl9zYWZhcmkgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiBiIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpXG4gICAgfVxufVxuXG4vKiBGT1JNIFJFU0VUICovXG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlcixib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgYnV0dG9uLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBjYXB0aW9uLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBkaXYsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGZpZWxkc2V0LGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBmb3JtLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBoMSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaDIsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGgzLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBoNCxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaDUsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGg2LGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpZnJhbWUsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGltZyxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT1idXR0b25dLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPWVtYWlsXSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT1pbWFnZV0sYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9bnVtYmVyXSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT1wYXNzd29yZF0sYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9c3VibWl0XSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT10ZWxdLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPXRleHRdLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPXVybF0sYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGxhYmVsLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBsZWdlbmQsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGxpLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBvbCxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgcCxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgc2VsZWN0LGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBzcGFuLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0YWJsZSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdGJvZHksYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRkLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0ZXh0YXJlYSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdGZvb3QsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRoLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0aGVhZCxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdHIsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogMFxufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgYnV0dG9uLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBjYXB0aW9uLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBkaXYsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGZpZWxkc2V0LGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBmb3JtLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpZnJhbWUsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGltZyxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT1idXR0b25dLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPWVtYWlsXSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT1pbWFnZV0sYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9bnVtYmVyXSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT1wYXNzd29yZF0sYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGlucHV0W3R5cGU9c3VibWl0XSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW5wdXRbdHlwZT10ZWxdLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPXRleHRdLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBpbnB1dFt0eXBlPXVybF0sYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGxhYmVsLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBsZWdlbmQsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGxpLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBvbCxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgcCxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgc2VsZWN0LGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBzcGFuLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0YWJsZSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdGJvZHksYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRkLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0ZXh0YXJlYSxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdGZvb3QsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHRoLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciB0aGVhZCxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdHIsYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIHVsIHtcbiAgICBmb250LXN0eWxlOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMFxufVxuXG5ib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgZGl2LGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBwLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogMS44XG59XG5cbmJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBmaWVsZHNldCxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgaW1nIHtcbiAgICBib3JkZXI6IDBcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGxpLGJvZHkgLmdmb3JtX3dyYXBwZXIuZ2ZfcmVzZXRfd3JhcHBlciBvbCxib2R5IC5nZm9ybV93cmFwcGVyLmdmX3Jlc2V0X3dyYXBwZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmVcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIGEgaW1nIHtcbiAgICBib3JkZXI6IG5vbmVcbn1cblxuYm9keSAuZ2Zvcm1fd3JhcHBlci5nZl9yZXNldF93cmFwcGVyIDpmb2N1cyB7XG4gICAgb3V0bGluZTogMFxufVxuXG4iLCIvLyBGaXggdGhlIGlzc3VlIHdoZXJlIHRoZSBXUCBhZG1pbi1iYXIgb3ZlcmxhcHMgdGhlIG1vYmlsZSBtZW51XG4jd3BhZG1pbmJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG4vLyBNYWtlIHN1cmUgdGhhdCB0aGUgV1AgYWRtaW4tYmFyIGRvZXMgbm90IG92ZXJsYXAgRm91bmRhdGlvbiBjb21wb25lbnRzXG5ib2R5LmFkbWluLWJhciB7XG4gIC8vIE9mZnNldCBzdGlja3kgdG9wIGJhclxuICAmLmYtdG9wYmFyLWZpeGVkIHtcbiAgICAuc3RpY2t5LmZpeGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cbiAgLy8gT2Zmc2V0IG1vYmlsZSBvZmYtY2FudmFzIG1lbnVcbiAgJi5vZmZjYW52YXMge1xuICAgIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiByZW0tY2FsYyg0Nik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDc4Mykge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cC1jYXB0aW9uID4gZmlnY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiAjOTk5O1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG5cbnAud3AtY2FwdGlvbi10ZXh0e1xuICBmb250LXNpemU6OTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzpyZW0tY2FsYygxMCkgMDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5nYWxsZXJ5IHtcbiAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDkge1xuICAgICYuZ2FsbGVyeS1jb2x1bW5zLSN7JGl9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KDIsICcuZ2FsbGVyeS1pdGVtJywgdHJ1ZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICAgICYuZ2FsbGVyeS1jb2x1bW5zLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoNCwgJy5nYWxsZXJ5LWl0ZW0nLCB0cnVlLCAoc21hbGw6IDMwcHgpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgJi5nYWxsZXJ5LWNvbHVtbnMtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkaSwgJy5nYWxsZXJ5LWl0ZW0nLCB0cnVlLCAoc21hbGw6IDMwcHgpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmdhbGxlcnktaWNvbiA+IGEge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxuICAuZ2FsbGVyeS1pY29uID4gaW1nIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cbn1cbiIsIi8qXG5Gcm9udGVuZCBzdHlsZXMgZm9yIGd1dGVuYmVyZyBibG9ja3NcbiovXG5cbi8qKiA9PT0gQmFzZSBDb2xvciBQYWxhdHRlID09PSAqL1xuQGVhY2ggJGNvbG9yLCAkY29kZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcblxuICAuaGFzLSN7JGNvbG9yfS1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlO1xuICB9XG5cbiAgLmhhcy0jeyRjb2xvcn0tY29sb3Ige1xuICAgICAgY29sb3I6ICRjb2RlO1xuICB9XG59XG5cbi8qKiA9PT0gQnV0dG9uID09PSAqL1xuLndwLWJsb2NrLWJ1dHRvbiB7XG5cblx0Ly8gYWRkIGdlbmVyYWwgZm91bmRhdGlvbiBidXR0b24gc3R5bGluZ1xuXHQud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0XHRAZXh0ZW5kIC5idXR0b247XG4gICAgQGVhY2ggJGNvbG9yLCAkY29kZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcblxuICAgICAgJi5oYXMtI3skY29sb3J9LWJhY2tncm91bmQtY29sb3Ige1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlO1xuICAgICAgfVxuXG4gICAgICAmLmhhcy0jeyRjb2xvcn0tY29sb3Ige1xuICAgICAgICAgIGNvbG9yOiAkY29kZTtcbiAgICAgIH1cbiAgICB9XG5cdH1cblxuXHQvLyBhZGQgc3BlY2lhbCBzdHlsaW5nIGZvciBzcXVhcmVkIGJ1dHRvbnNcblx0Ji5pcy1zdHlsZS1zcXVhcmVkIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdH1cblxuXHQvLyBhZGQgb3V0bGluZSBzdHlsZXNcblx0Ji5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmt7XG5cdFx0QGV4dGVuZCAuaG9sbG93O1xuXHR9XG5cblx0Ly8gc2V0IHRyYW5zcGFyZW50IGJhY2tncm91bmQgdG8gYmxvY2sgZm9yIG91dGxpbmUgYnV0dG9uXG5cdCYuaXMtc3R5bGUtb3V0bGluZSxcblx0Ji5pcy1zdHlsZS1vdXRsaW5lOmhvdmVyLFxuXHQmLmlzLXN0eWxlLW91dGxpbmU6Zm9jdXMsXG5cdCYuaXMtc3R5bGUtb3V0bGluZTphY3RpdmUge1xuICAgIC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC53cC1ibG9jay1idXR0b25fX2xpbmt7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cdH1cbn1cblxuLyoqID09PSBGaWxlID09PSAqL1xuLndwLWJsb2NrLWZpbGUgLndwLWJsb2NrLWZpbGVfX2J1dHRvbntcbiAgQGluY2x1ZGUgYnV0dG9uKCk7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQXN5bmMgTWVkaWEgTG9hZFxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi52aWRlbyB7XG5cbn1cbi52aWRlby1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiAkYmxhbmNvO1xufVxuXG4vKiBsaW5lIDExLCAuLi9zY3NzL2FzeW5jLnNjc3MgKi9cbi52aWRlb2xvYWRlciwgLnZpZGVvLWNvbnRhaW5lciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRsaW5lLWhlaWdodDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiA1MCU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnZpZGVvLWxvYWRlciB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi52aWRlby1wbGF5IHtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0ei1pbmRleDogMTA7XG5cdHdpZHRoOiA2NXB4O1xuXHRoZWlnaHQ6IDQwcHg7XG5cdHdpZHRoOiAxMDhweDtcblx0aGVpZ2h0OiAxMDhweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW4tbGVmdDogLTMzcHg7XG5cdG1hcmdpbi10b3A6IC0yMHB4O1xuXHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR0ZXh0b3MsIDAuODUpO1xuXHQvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3RoZW1lL3ZpZGVvX2NvbnRyb2xzLnBuZyk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdGhlbWUvcGxheS5zdmcpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcblxuXHQmOmhvdmVyIHtcblx0XHQvLyBiYWNrZ3JvdW5kOiAkZ3Jpcztcblx0fVxufVxuXG4udmlkZW8tc2NyaW0ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogcmdiYSgkdGV4dG9zLCAwLjM1KTtcbn1cbi8qLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi8iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRmFuY3lib3ggQ1NTXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAgIC8qISBmYW5jeUJveCB2Mi4xLjUgZmFuY3lhcHBzLmNvbSB8IGZhbmN5YXBwcy5jb20vZmFuY3lib3gvI2xpY2Vuc2UgKi9cbiAgICAuZmFuY3lib3gtd3JhcCxcbiAgICAuZmFuY3lib3gtc2tpbixcbiAgICAuZmFuY3lib3gtb3V0ZXIsXG4gICAgLmZhbmN5Ym94LWlubmVyLFxuICAgIC5mYW5jeWJveC1pbWFnZSxcbiAgICAuZmFuY3lib3gtd3JhcCBpZnJhbWUsXG4gICAgLmZhbmN5Ym94LXdyYXAgb2JqZWN0LFxuICAgIC5mYW5jeWJveC1uYXYsXG4gICAgLmZhbmN5Ym94LW5hdiBzcGFuLFxuICAgIC5mYW5jeWJveC10bXBcbiAgICB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDgwMjA7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LXNraW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtb3BlbmVkIHtcbiAgICAgICAgei1pbmRleDogODAzMDtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtb3BlbmVkIC5mYW5jeWJveC1za2luIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtb3V0ZXIsIC5mYW5jeWJveC1pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtaW5uZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC10eXBlLWlmcmFtZSAuZmFuY3lib3gtaW5uZXIge1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LWVycm9yIHtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIGZvbnQ6IDE0cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtaW1hZ2UsIC5mYW5jeWJveC1pZnJhbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3RoZW1lL2ZhbmN5Ym94X3Nwcml0ZS5wbmcnKTtcbiAgICB9XG5cbiAgICAjZmFuY3lib3gtbG9hZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTA4cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OiA4MDYwO1xuICAgIH1cblxuICAgICNmYW5jeWJveC1sb2FkaW5nIGRpdiB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3RoZW1lL2ZhbmN5Ym94X2xvYWRpbmcuZ2lmJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xOHB4O1xuICAgICAgICByaWdodDogLTE4cHg7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogODA0MDtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtbmF2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL3RoZW1lL2JsYW5rLmdpZicpOyAvKiBoZWxwcyBJRSAqL1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgICAgIHotaW5kZXg6IDgwNDA7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LXByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LW5hdiBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE4cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgei1pbmRleDogODA0MDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1wcmV2IHNwYW4ge1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zNnB4O1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1uZXh0IHNwYW4ge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzJweDtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtbmF2OmhvdmVyIHNwYW4ge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC10bXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTk5OTk5cHg7XG4gICAgICAgIGxlZnQ6IC05OTk5OXB4O1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG1heC13aWR0aDogOTk5OTlweDtcbiAgICAgICAgbWF4LWhlaWdodDogOTk5OTlweDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiBPdmVybGF5IGhlbHBlciAqL1xuXG4gICAgLmZhbmN5Ym94LWxvY2sge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1sb2NrIGJvZHkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LWxvY2stdGVzdCB7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDgwMTAwMDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvdGhlbWUvZmFuY3lib3hfb3ZlcmxheS5wbmcnKTtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtb3ZlcmxheS1maXhlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtbG9jayAuZmFuY3lib3gtb3ZlcmxheSB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgLyogVGl0bGUgaGVscGVyICovXG5cbiAgICAuZmFuY3lib3gtdGl0bGUge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGZvbnQ6IG5vcm1hbCAxM3B4LzIwcHggXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICB6LWluZGV4OiA4MDUwO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC1vcGVuZWQgLmZhbmN5Ym94LXRpdGxlIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuZmFuY3lib3gtdGl0bGUtZmxvYXQtd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMzVweDtcbiAgICAgICAgei1pbmRleDogODA1MDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5mYW5jeWJveC10aXRsZS1mbG9hdC13cmFwIC5jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICAgICAgcGFkZGluZzogMnB4IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBGYWxsYmFjayBmb3Igd2ViIGJyb3dzZXJzIHRoYXQgZG9lc24ndCBzdXBwb3J0IFJHQmEgKi9cbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4ICMyMjI7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LXRpdGxlLW91dHNpZGUtd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LXRpdGxlLWluc2lkZS13cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgLmZhbmN5Ym94LXRpdGxlLW92ZXItd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuOCk7XG4gICAgfVxuXG4gICAgLypSZXRpbmEgZ3JhcGhpY3MhKi9cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksXG4gICAgICAgICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLFxuICAgICAgICAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSl7XG5cbiAgICAgICAgI2ZhbmN5Ym94LWxvYWRpbmcsIC5mYW5jeWJveC1jbG9zZSwgLmZhbmN5Ym94LXByZXYgc3BhbiwgLmZhbmN5Ym94LW5leHQgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy90aGVtZS9mYW5jeWJveF9zcHJpdGVAMngucG5nJyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ0cHggMTUycHg7IC8qVGhlIHNpemUgb2YgdGhlIG5vcm1hbCBpbWFnZSwgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgaGktcmVzIGltYWdlKi9cbiAgICAgICAgfVxuXG4gICAgICAgICNmYW5jeWJveC1sb2FkaW5nIGRpdiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy90aGVtZS9mYW5jeWJveF9sb2FkaW5nQDJ4LmdpZicpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7IC8qVGhlIHNpemUgb2YgdGhlIG5vcm1hbCBpbWFnZSwgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgaGktcmVzIGltYWdlKi9cbiAgICAgICAgfVxuICAgIH1cbi8qLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZhbmN5Ym94IFBsYXl1c1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgICAuZmFuY3lib3gtb3BlbmVkIC5mYW5jeWJveC1za2luIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgLmZhbmN5Ym94LW5hdiBzcGFuIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgXG4gICAgfVxuICAgIC5mYW5jeWJveC1uZXh0IHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3RoZW1lL2RlcmVjaGEuc3ZnKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgcmlnaHQ6IC0xNCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgXG4gICAgfVxuICAgIC5mYW5jeWJveC1wcmV2IHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3RoZW1lL2l6cXVpZXJkYS5zdmcpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJSAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAtMTQlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuICAgIC5mYW5jeWJveC1jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdGhlbWUvY2VycmFyLnN2ZykgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHRvcDogLTM1cHg7XG4gICAgICAgIHJpZ2h0OiAtNSU7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgLmZhbmN5Ym94LWNsb3Nle1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gICAgICB9XG4gICAgICAuZmFuY3lib3gtbmV4dCBzcGFuIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgICAgICByaWdodDogLTEyJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmZhbmN5Ym94LXByZXYgc3BhbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICAgICAgbGVmdDogLTEyJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbi8qLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi8iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogT3dsIENhcm91c2VsIENTU1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblx0LyoqXG4gKiBPd2wgQ2Fyb3VzZWwgdjIuMy40XG4gKiBDb3B5cmlnaHQgMjAxMy0yMDE4IERhdmlkIERldXRzY2hcbiAqIExpY2Vuc2VkIHVuZGVyOiBTRUUgTElDRU5TRSBJTiBodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cbi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cblxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcblx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHQvKiBmaXggZmlyZWZveCBhbmltYXRpb24gZ2xpdGNoICovXG59XG5cblx0Lm93bC1jYXJvdXNlbCAub3dsLXN0YWdlOmFmdGVyIHtcblx0Y29udGVudDogXCIuXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjbGVhcjogYm90aDtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRsaW5lLWhlaWdodDogMDtcblx0aGVpZ2h0OiAwO1xufVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG59XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyLFxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuXHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1pbi1oZWlnaHQ6IDFweDtcblx0ZmxvYXQ6IGxlZnQ7XG5cdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZCxcbi5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYsXG4ub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCxcbi5vd2wtY2Fyb3VzZWwgLm93bC1kb3Qge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG4ub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcbi5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Ym9yZGVyOiBub25lO1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGZvbnQ6IGluaGVyaXQ7XG59XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHtcblx0b3BhY2l0eTogMDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7XG5cdG9wYWNpdHk6IDA7XG59XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVtIHtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG5cdC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xuXHRjdXJzb3I6IG1vdmU7XG5cdGN1cnNvcjogZ3JhYjtcbn1cblxuLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcblx0ZGlyZWN0aW9uOiBydGw7XG59XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0ge1xuXHRmbG9hdDogcmlnaHQ7XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiovXG4ub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuXHR6LWluZGV4OiAwO1xufVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHtcblx0ei1pbmRleDogMTtcbn1cblxuLm93bC1jYXJvdXNlbCAuZmFkZU91dCB7XG5cdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuXHQwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG5cdC8qKlxuXHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0Y2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzXG5cdCovXG59XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eSB7XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbn1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5W3NyY149XCJcIl0sIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcblx0bWF4LWhlaWdodDogMDtcbn1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5IHtcblx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb24ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogODBweDtcblx0d2lkdGg6IDgwcHg7XG5cdGxlZnQ6IDUwJTtcblx0dG9wOiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0bWFyZ2luLXRvcDogLTQwcHg7XG5cdGJhY2tncm91bmQ6IHVybChcIm93bC52aWRlby5wbGF5LnBuZ1wiKSBuby1yZXBlYXQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ei1pbmRleDogMTtcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xufVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcblx0LW1zLXRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHQgIHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xufVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4ge1xuXHRvcGFjaXR5OiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xufVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG59XG4vKi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyovXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE93bCBDYXJvdXNlbCBQbGF5dXNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ucHJpbmNpcGFsIC5vd2wtY29udHJvbHMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUhaW1wb3J0YW50O1xuXHRib3R0b206IDRyZW0gIWltcG9ydGFudDtcblx0bGVmdDogMCUgIWltcG9ydGFudDtcblx0cGFkZGluZzogMCAwLjkzNzVyZW07XG59XG5cbi5vd2wtdGFicyAub3dsLWNvbnRyb2xzIHtcblx0cG9zaXRpb246IGFic29sdXRlIWltcG9ydGFudDtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0bGVmdDogMCUgIWltcG9ydGFudDtcblx0cGFkZGluZzogMCAwLjkzNzVyZW07XG59XG5cbi5vd2wtY29udHJvbHMge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRpbWcge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cbi5vd2wtcHJldiB7XG5cdHdpZHRoOiBhdXRvO1xuXHRmbG9hdDogbGVmdDtcbn1cbi5vd2wtbmV4dCB7XG5cdHdpZHRoOiBhdXRvO1xuXHRmbG9hdDogcmlnaHQ7XG59XG4ub3dsLWRvdHMge1xuXHRtYXJnaW4tdG9wOiAwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5vd2wtZG90IHtcblx0d2lkdGg6IDIlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG5cdC5vd2wtZG90IHtcblx0XHR3aWR0aDogNSU7XG5cdH1cbiB9XG5cbi5vd2wtZG90IHNwYW4ge1xuXHRiYWNrZ3JvdW5kOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG5cdG9wYWNpdHk6IDAuNTtcblx0aGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ub3dsLWRvdC5hY3RpdmUgc3Bhbntcblx0b3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiAkYmxhbmNvICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogMTBweCAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTBweCAhaW1wb3J0YW50O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcbn1cblxuLm93bC1pdGVtIHtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn0vKkFycmVnbGFyIGVzcGFjaW8gYmxhbmNvIGVudHJlIGl0ZW1zIChNb3ZlciBkZSBhcXVpIHkgYWdyZWdhciBlc3RvIGFsIGZpbmFsIGRlbCBjc3MgZGUgb3dsIGNhcm91c2VsKSAqL1xuLyovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8qL1xuXG4uc2FpbC1zbGlkZS1wcGFsIHtcblx0Lm93bC1kb3RzIHtcblx0XHRtYXJnaW4tdG9wOiAtNTBweDtcblx0fVxufVxuXG4ub3dsLXRhYnMge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Lm93bC1uYXYge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IGNhbGMoNTAlIC0gMThweCk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRidXR0b24ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luOiAwIDE1cHg7XG5cblx0XHRcdC5vd2wtbmV4dCB7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBHcmF2aXR5IEZvcm1zIENvbnRhY3QgUHJvcGVydHkgYW5kIENhcmVlcnNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgI2dmb3JtX3dyYXBwZXJfMXtcbiAgICAgICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuZ2Zvcm1fYm9keSB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgICAuZ2Zvcm1faGVhZGluZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfSAgICAgICAgXG4gICAgI2dmb3JtX3dyYXBwZXJfMSBmb3JtIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM0RDRDNEQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMSBmb3JtIGlucHV0e1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjk3MTc3O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY29sb3I6ICM0RDRDNEQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMSBmb3JtIHRleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2OTcxNzc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY29sb3I6ICM0RDRDNEQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgICAgICAgcGFkZGluZzogMTBweCA4cHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgICNnZm9ybV93cmFwcGVyXzEgZm9ybSAuZ2ZpZWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMSBmb3JtIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8xIGZvcm0gLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICNnZm9ybV93cmFwcGVyXzEgZm9ybSAuZ2Zvcm1fYm9keSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMSBmb3JtIC5nZm9ybV9mb290ZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8xIGZvcm0gLmdmb3JtX2Zvb3RlciBidXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgfVxuICAgICNnZm9ybV93cmFwcGVyXzEgZm9ybSAjaW5wdXRfMl80IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMSBmb3JtICNpbnB1dF81XzQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8xIGZvcm0gLmdmaWVsZF9lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMSBmb3JtIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjk3MTc3O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBMaWdodCc7XG4gICAgICAgIGNvbG9yOiAjY2YwYTJjO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMSBmb3JtIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgICBmb250LWZhbWlseTogJ1JvYm90byBMaWdodCc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAjY2YwYTJjO1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8xICNnZm9ybV9zdWJtaXRfYnV0dG9uXzEgIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0NCQTc1RTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH0gXG5cbiAgICAjZ2Zvcm1fd3JhcHBlcl8ye1xuICAgICAgICBtYXJnaW46IDBweCBhdXRvO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIC5nZm9ybV9oZWFkaW5nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9ICAgICAgICBcbiAgICAjZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gbGFiZWwge1xuICAgICAgICBjb2xvcjogIzRENEM0RDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gaW5wdXR7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2OTcxNzc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBjb2xvcjogIzRENEM0RDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gdGV4dGFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzY5NzE3NztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBjb2xvcjogIzRENEM0RDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDhweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMiBmb3JtIC5nZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICNnZm9ybV93cmFwcGVyXzIgZm9ybSAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMiBmb3JtIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgICNnZm9ybV93cmFwcGVyXzIgZm9ybSAuZ2Zvcm1fZm9vdGVyIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9XG4gICAgI2dmb3JtX3dyYXBwZXJfMiBmb3JtICNpbnB1dF8yXzQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gI2lucHV0XzVfNCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICNnZm9ybV93cmFwcGVyXzIgZm9ybSAuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gLnZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICM2OTcxNzc7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgICAgICAgY29sb3I6ICNjZjBhMmM7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICAjZ2Zvcm1fd3JhcHBlcl8yIGZvcm0gLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTFweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvIExpZ2h0JztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgY29sb3I6ICNjZjBhMmM7XG4gICAgfVxuICAgICNnZm9ybV93cmFwcGVyXzIgI2dmb3JtX3N1Ym1pdF9idXR0b25fMiAge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0JBNzVFO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGNvbG9yOiAjNjk3MTc3O1xuICAgIH0gIFxuICAgIC5vdHJvLWNvcnJlbyB7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICB9ICAgICAgICAgXG5cbi8qLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi8iLCIvKiEgalF1ZXJ5IFVJIC0gdjEuMTIuMSAtIDIwMTYtMTEtMDdcbiogaHR0cDovL2pxdWVyeXVpLmNvbVxuKiBJbmNsdWRlczogY29yZS5jc3MsIHRhYnMuY3NzXG4qIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzOyBMaWNlbnNlZCBNSVQgKi9cblxuLnVpLWhlbHBlci1oaWRkZW57ZGlzcGxheTpub25lfS51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGV7Ym9yZGVyOjA7Y2xpcDpyZWN0KDAgMCAwIDApO2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHh9LnVpLWhlbHBlci1yZXNldHttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7b3V0bGluZTowO2xpbmUtaGVpZ2h0OjEuMzt0ZXh0LWRlY29yYXRpb246bm9uZTtmb250LXNpemU6MTAwJTtsaXN0LXN0eWxlOm5vbmV9LnVpLWhlbHBlci1jbGVhcmZpeDpiZWZvcmUsLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlcntjb250ZW50OlwiXCI7ZGlzcGxheTp0YWJsZTtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9LnVpLWhlbHBlci1jbGVhcmZpeDphZnRlcntjbGVhcjpib3RofS51aS1oZWxwZXItemZpeHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5OjA7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MCl9LnVpLWZyb250e3otaW5kZXg6MTAwfS51aS1zdGF0ZS1kaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdCFpbXBvcnRhbnQ7cG9pbnRlci1ldmVudHM6bm9uZX0udWktaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLXRvcDotLjI1ZW07cG9zaXRpb246cmVsYXRpdmU7dGV4dC1pbmRlbnQ6LTk5OTk5cHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdH0udWktd2lkZ2V0LWljb24tYmxvY2t7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LThweDtkaXNwbGF5OmJsb2NrfS51aS13aWRnZXQtb3ZlcmxheXtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0udWktdGFic3twb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOi4yZW19LnVpLXRhYnMgLnVpLXRhYnMtbmF2e21hcmdpbjowO3BhZGRpbmc6LjJlbSAuMmVtIDB9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpe2xpc3Qtc3R5bGU6bm9uZTtmbG9hdDpsZWZ0O3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO21hcmdpbjoxcHggLjJlbSAwIDA7Ym9yZGVyLWJvdHRvbS13aWR0aDowO3BhZGRpbmc6MDt3aGl0ZS1zcGFjZTpub3dyYXB9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IC51aS10YWJzLWFuY2hvcntmbG9hdDpsZWZ0O3BhZGRpbmc6LjVlbSAxZW07dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZle21hcmdpbi1ib3R0b206LTFweDtwYWRkaW5nLWJvdHRvbToxcHh9LnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvciwudWktdGFicyAudWktdGFicy1uYXYgbGkudWktc3RhdGUtZGlzYWJsZWQgLnVpLXRhYnMtYW5jaG9yLC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWxvYWRpbmcgLnVpLXRhYnMtYW5jaG9ye2N1cnNvcjp0ZXh0fS51aS10YWJzLWNvbGxhcHNpYmxlIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSAudWktdGFicy1hbmNob3J7Y3Vyc29yOnBvaW50ZXJ9LnVpLXRhYnMgLnVpLXRhYnMtcGFuZWx7ZGlzcGxheTpibG9jaztib3JkZXItd2lkdGg6MDtwYWRkaW5nOjFlbSAxLjRlbTtiYWNrZ3JvdW5kOm5vbmV9XG4iLCIvLyBOYXZpZ2F0aW9uIGJyZWFrcG9pbnRzXG4ubW9iaWxlLW1lbnUsXG4uc2l0ZS10aXRsZS1iYXIge1xuICBAaW5jbHVkZSBoaWRlLWZvcihtZWRpdW0pO1xufVxuLy9cbi5kZXNrdG9wLW1lbnUsXG4uc2l0ZS1uYXZpZ2F0aW9uIC50b3AtYmFyLWxlZnQge1xuICBAaW5jbHVkZSBzaG93LWZvcihtZWRpdW0pO1xufVxuXG4vLyBTaXRlIHRpdGxlXG4uc2l0ZS1kZXNrdG9wLXRpdGxlIGEge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gV1AgcG9zdCBuYXZpZ2F0aW9uXG4ucG9zdC1uYXZpZ2F0aW9uIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi5uYXYtcHJldmlvdXMge1xuICBmbG9hdDpsZWZ0O1xufVxuXG4ubmF2LW5leHQge1xuICBmbG9hdDpyaWdodDtcbn1cbiIsIi5zaXRlLWhlYWRlciB7XG5cdGJhY2tncm91bmQ6ICRncmlzO1xuXHRAaW5jbHVkZSBncmFkaWVudC1kaXJlY3Rpb25hbCgkZ3JpcywgIzgyNzk3OCwgMTgwZGVnKTtcblx0Y29sb3I6ICRibGFuY287XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRibGFuY287XG5cdH1cblxuXHQuaGVhZC1waG9uZSwgLmhlYWQtbWFpbCB7XG4gICAgXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0fVxuXG5cdC5oZWFkLXBob25lIHtcblxuXHRcdHNwYW4ge1xuXHRcdFx0Ly8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Ly8gdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRibGFuY287XG5cdFx0XHQvLyBwYWRkaW5nLXJpZ2h0OiA5cHg7XG5cdFx0XHQvLyBsaW5lLWhlaWdodDogMTJweDtcblx0XHRcdC8vIG1hcmdpbi1yaWdodDogOHB4O1xuXHRcdFx0Ly8gY29sb3I6ICNmZmY7XG5cdFx0fVxuXHR9XG59XG5cbi5oZWFkcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4jc2VhcmNoLWJveC13cmFwcGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICB3aWR0aDogNDAlO1xuXG4gICAgI3Mge1xuICAgIFx0d2lkdGg6IDc1JTtcblx0ICAgIGhlaWdodDogMzBweDtcblx0ICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHQgICAgZm9udC1zaXplOiAkZnMtc21hbGw7XG5cdCAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdCAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYW5jbztcblx0ICAgIGJvcmRlcjogMDtcblx0ICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cdCAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG5cdCAgICBvdXRsaW5lOiBub25lO1xuXHQgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHQgICAgYXBwZWFyYW5jZTogbm9uZTtcblxuXHQgICAgJjo6cGxhY2Vob2xkZXIge1xuXHQgICAgXHRjb2xvcjogJG5lZ3JvO1xuXHQgICAgfVxuICAgIH1cblxuICAgIC5zdWJtaXQtYnRuIHtcbiAgICBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHR3aWR0aDogMjAlO1xuXHRcdGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG5cbiAgICBcdCYuc2Itc3VibWl0IHtcbiAgICBcdFx0d2lkdGg6IDEwMCU7XG5cdFx0ICAgIGhlaWdodDogMTAwJTtcblx0XHQgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG5cdFx0ICAgIGZvbnQtc2l6ZTogJGZzLXNtYWxsO1xuXHRcdCAgICAvLyBjb2xvcjogJG5lZ3JvO1xuXHRcdCAgICBkaXNwbGF5OiBibG9jaztcblx0XHQgICAgb3V0bGluZTogbm9uZTtcblx0XHQgICAgYmFja2dyb3VuZDogJHJvam8gdXJsKC4uL2ltYWdlcy90aGVtZS9tYWduaWZ5aW5nLWljb24ucG5nKSBuby1yZXBlYXQgY2VudGVyO1xuXHRcdCAgICBjb2xvcjogJGJsYW5jbztcblx0XHQgICAgYm9yZGVyOiAwO1xuXHRcdCAgICBib3JkZXItcmFkaXVzOiAwO1xuXHRcdCAgICBmb250LXNpemU6IDA7XG5cdFx0ICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0XHQgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHRcdCAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIFx0fVxuICAgIH1cbn1cblxuLnRvcC1iYXIge1xuXG5cdC5tZW51IHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHR9XG5cblx0LmRyb3Bkb3duIHtcblxuXHRcdCYubWVudSB7XG5cblx0XHRcdD4gbGkge1xuXG5cdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRwYWRkaW5nOiByZW0tY2FsYygxMnB4IDM1cHggMTBweCAzNXB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uYWxpZ24tc21hbGwtbGVmdCB7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBsZWZ0O1xuXHR9XG59IiwiLm1vYmlsZS1vZmYtY2FudmFzLW1lbnUge1xuXHRwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzJweCk7XG5cblx0Lm1lbnUge1xuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGdyaXMtYztcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXHR9XG59IiwiLm1haW4tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG59XG5cbi5tYWluLWdyaWQge1xuICBAaW5jbHVkZSB4eS1ncmlkKCk7XG4gIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICB9XG5cbiAgJi5zaWRlYmFyLWxlZnQge1xuICAgIC8vIFBsYWNlIHRoZSBzaWRlYmFyIGJlbG93IG1haW4gY29udGVudCBvbiBzbWFsbCBzY3JlZW5zIC4uLlxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIC5tYWluLWNvbnRlbnQgeyBvcmRlcjogMTsgfVxuICAgICAgLnNpZGViYXIgeyBvcmRlcjogMjsgfVxuICAgIH1cblxuICAgIC8vIC4uLiBhbmQgdG8gdGhlIGxlZnQgb24gbWVkaXVtLXVwIHNjcmVlbnMsIHdoZW4gdXNpbmcgdGhlIHNpZGViYXItbGVmdCB0ZW1wbGF0ZVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAubWFpbi1jb250ZW50IHsgb3JkZXI6IDI7IH1cbiAgICAgIC5zaWRlYmFyIHsgb3JkZXI6IDE7IH1cbiAgICB9XG4gIH1cblxuICAvLyBGdWxsIHdpZHRoIHRlbXBsYXRlXG4gIC5tYWluLWNvbnRlbnQtZnVsbC13aWR0aCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gIH1cblxuICAvLyBEZWZhdWx0IHRlbXBsYXRlXG4gIC5tYWluLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDgpO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg0KTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuXG4gIH1cbn1cbiIsIi5mb290ZXItY29udGFpbmVyIHtcblx0Ly8gQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cdC8vIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cdC8vIG1hcmdpbi10b3A6IHJlbS1jYWxjKDYwKTtcblx0YmFja2dyb3VuZDogJGdyaXMtbWVkaW87XG5cblx0LmNvcHlyaWdodCB7XG5cdFx0Ly8gZGlzcGxheTogYmxvY2s7XG5cdCAgICBjb2xvcjogJGdyaXMtYztcblx0ICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cdCAgICBmb250LXNpemU6IHJlbS1jYWxjKDExcHgpO1xuXHQgICAgLy8gbWFyZ2luLXRvcDogMTJweDtcblx0ICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNHB4KTtcblx0fVxufVxuXG4uc29jaWFsLWltZyB7XG5cdG1hcmdpbjogcmVtLWNhbGMoMzBweCAzcHgpO1xuXG5cdGEge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQuaWNvbi1zb2NpYWwge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvdGhlbWUvc21pLnBuZyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHR3aWR0aDogcmVtLWNhbGMoMjhweCk7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYygyOHB4KTtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdCYuaWZhY2Vib29rIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJlbS1jYWxjKDBweCAwcHgpO1xuXHRcdH1cblxuXHRcdCYuaXR3aXR0ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmVtLWNhbGMoLTM1cHggMHB4KTtcblx0XHR9XG5cblx0XHQmLml5b3V0dWJlIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJlbS1jYWxjKC03MHB4IDBweCk7XG5cdFx0fVxuXG5cdFx0Ji5pbGlua2VkaW4ge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmVtLWNhbGMoLTEwNXB4IDBweCk7XG5cdFx0fVxuXG5cdFx0Ji5pcGludGVyZXN0IHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJlbS1jYWxjKC0xNzNweCAwcHgpO1xuXHRcdH1cblx0fVxufVxuXG4uZm9vdGVyLW1lbnUge1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDExcHgpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXG5cdGxpIHtcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmlzLWM7XG4gICAgXHRsaW5lLWhlaWdodDogMTBweDtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuICAgIFx0XHRib3JkZXItbGVmdDogbm9uZTtcbiAgICBcdH1cbiAgICB9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRncmlzLWM7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMXB4KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEycHgpO1xuXHR9XG59XG5cbi8vIC5mb290ZXItZ3JpZCB7XG5cdC8vIEBpbmNsdWRlIHh5LWdyaWQ7XG5cdC8vIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSAwO1xuXG5cdC8vIHNlY3Rpb24ge1xuXHQvLyBcdEBpbmNsdWRlIHh5LWNlbGwoKTtcblx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdC8vIFx0XHRAaW5jbHVkZSB4eS1jZWxsKGF1dG8pO1xuXHQvLyBcdH1cblx0Ly8gfVxuXG5cdC8vIHVsIHtcblx0Ly8gXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdC8vIFx0bWFyZ2luOiAwO1xuXHQvLyBcdHBhZGRpbmc6IDA7XG5cdC8vIH1cbi8vIH1cbiIsImJvZHkjdGlueW1jZXtcbiAgaGVpZ2h0OiBhdXRvOyAvLyBGaXggZWRpdG9yIHN0eWxlIGJ1Z1xuICBtYXgtd2lkdGg6ICRncmlkLXJvdy13aWR0aDsgLy8gR2l2ZSB0aGUgZWRpdG9yIGEgbWF4LXdpZHRoXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhaW1wb3J0YW50O1xufSIsIi5zaXRlcy1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgcmdiYSgwLDAsMCwwLjIpIGluc2V0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbn1cbiIsIi5jYXJkcy1jb250YWluZXIge1xuXG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuXG4gICAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgdHJ1ZSwgMC43cmVtICk7XG5cbiAgICB9XG5cbiAgfVxufVxuIiwiLmZlYXR1cmVkLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGhlaWdodDogcmVtLWNhbGMoMTAwKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICB9XG59XG4iLCIuZG90dGVkIHtcbiAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIG1hcmdpbjogMnJlbSAwO1xufVxuIiwiLy8gQXBwbHkgb3V0bGluZSBzdHlsZXMgb25seSB3aGVuIGlucHV0IG1ldGhvZCBpcyBrZXlib2FyZFxuLy8gcmVtb3ZlIDpmb2N1cyBzdHlsZSB2aWEgV2hhdCBJbnB1dCB1c2luZyBwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudFxuLy8gc28gOmZvY3VzIGlzbid0IGxlZnQgYnJva2VuIGlmIEphdmFTY3JpcHQgZmFpbHNcblxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gYTpmb2N1cywgYnV0dG9uOmZvY3VzXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSBhOmZvY3VzLCBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuIiwiLy8gUGFnZSBoZWFkZXJcbi5mcm9udC1oZXJvIHtcbiAgLm1hcmtldGluZyB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoNTVyZW0pO1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZGVtby9oZXJvLWJnLWZvdW5kYXRpb24tNi1zbWFsbC5zdmcnKSBib3R0b20gY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDY1JSkgMDtcbiAgICBtYXJnaW46IDAgMCByZW0tY2FsYygzMik7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9kZW1vL2hlcm8tYmctZm91bmRhdGlvbi02LWxhcmdlLnN2ZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg2ODUpO1xuICAgIG1hcmdpbjogMCAwIHJlbS1jYWxjKDcyKTtcbiAgfVxuXG4gIC53YXRjaCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg3KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICNzdGFyZ2F6ZXJzIHtcbiAgICAgIDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5YlwiO1xuICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogI0I0QzlEMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjdHdpdHRlciB7XG4gICAgICA6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwOTlcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6ICNCNEM5RDE7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAudGFnbGluZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCg1KTtcbiAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIH1cblxuICAuZG93bmxvYWQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgfVxufVxuXG4vLyBJbnRyb1xuLmludHJvIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG5cbiAgLmZwLWludHJvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMCk7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgxKTtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNlY3Rpb24gZGl2aWRlclxuLnNlY3Rpb24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuXG4gIGhyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbiAgICBAZXh0ZW5kIC5kb3R0ZWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG4vLyBCZW5lZml0c1xuLmJlbmVmaXRzIHtcbiAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBoZWFkZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuXG4gICAgaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGNvbG9yOiAjNzc3O1xuICAgIH1cbiAgfVxuXG4gIC5zZW1hbnRpYyxcbiAgLnJlc3BvbnNpdmUsXG4gIC5jdXN0b21pemFibGUsXG4gIC5wcm9mZXNzaW9uYWwge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMTIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKDMpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMCBhdXRvO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIH1cbiAgfVxuXG4gIC53aHktZm91bmRhdGlvbiB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgfVxufVxuIiwiLmtpdGNoZW4tc2luay1oZWFkZXIge1xuICBAaW5jbHVkZSB4eS1jZWxsKDEyKTtcbn1cblxuXG4ua2l0Y2hlbi1zaW5rLWNvbXBvbmVudHMge1xuICBociB7XG4gICAgbWFyZ2luOiAzcmVtIDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgxMik7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCg5KTtcbiAgfVxufVxuXG4ua2l0Y2hlbi1zaW5rLW5hdiB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoMyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgLmRvY3Mtc3ViLW1lbnUge1xuICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy1tZW51LXRpdGxlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAuZG9jcy10b2Mge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIH1cblxuICAgIC5kb2NzLXRvYyAuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMTk5ZTg7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgLmRvY3MtdG9jIC5kb2NzLXN1Yi1tZW51OmZpcnN0LWNoaWxkIC5kb2NzLW1lbnUtdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmtpdGNoZW4tc2luay1ncmlkIHtcbiAgLmdyaWQteCB7XG4gICAgYmFja2dyb3VuZDogI2Q2ZWNmYTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIFxuICAgIC5jZWxsLDpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjN2JjMWVmO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgfVxuXG4gICAgLmNlbGw6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */
